算法:整数从个位开始,count计数器计算个位数字,用整数整除10即可丢弃一位个位,每丢弃一位个位则计数器加一,直到整数为0.
如:计算整数1234的位数
n=1234 n/=10 count++ count=1
n=123 n/=10 count++ count=2
n=12 n/=10 count++ count=3
n=1 n/=10 count++ count=4
n=0 循环结束,整数1234有4位,代码如下
#define _CRT_SECURE_NO_WARNINGS//定义scanf函数的宏
#include<stdio.h>
//while循坏实现
int main()
{
long long m, n;
long long count = 0;//位数计数器
printf("请输入一个整数:\n");
scanf("%lld", &n);
m = n;//保存原始数据
while (n != 0)
{
n /= 10;//丢弃个位
count++;//位数计算器+1
}
printf("%lld的位数为:%lld\n", m, count);
return 0;
}
//for循环实现
int main()
{
long long m, n;//考虑到数字可能会偏大,所以使用长整型
long long count = 0;//位数计数器
printf("请输入一个整数:\n");
scanf("%lld", &n);
m = n;//保存原始数据
for(int i=0;n!=0;i++)
{
n /= 10;//丢弃个位
count++;//位数计算器+1
}
printf("%lld的位数为:%lld\n", m, count);
return 0;
}
C语言计算整数n的位数
于 2021-11-21 22:19:04 首次发布