C语言计算整数n的位数

算法:整数从个位开始,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

//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语言)