code1
复杂版,有点心累。
#include<stdio.h>
int main()
{
int n;
printf("input the number:\n");
scanf("%d",&n);
int count;
int beishu=1;
double panduan;
for(count=0;;count++)
{
panduan= n/beishu;
if(panduan<1)
{
break;
}
if(fabs(panduan-1)<1e-10)
{
count =count+1;
break;
}
beishu=beishu*10;
}
printf("%d\n",count);
return 0;
}
code2
牛啤版
#include<stdio.h>
#include <math.h>
int main()
{
int n;
scanf("%d",&n);
// 主要就是下面的那一句代码。
int digitofnum = floor(log10(n))+1;
printf("%d\n",digitofnum);
return 0;
}
floor(double arguement)
函数返回参数不大于arguement的最大整数。
本文介绍并对比了两种使用C语言计算整数位数的方法:一种是通过循环除以10直到小于1的复杂版;另一种是利用log10函数计算的简洁版。后者效率更高,代码更简洁。
638

被折叠的 条评论
为什么被折叠?



