第1个回答 2013-10-29
两个方法,一种方式是用循环求,不断除10。
另一种方式是将其转换为字符串,然后求字符串的位数。
#include<stdio.h>
#include<string.h>
int f1(int n){
int i=0;
if(n==0)return 1;
while(n>0){
n=n/10;
i++;
}
return i;
}
int f2(int n){
char s[32]="";
sprintf(s,"%d",n);
return strlen(s);
}
main()
{
int n;
scanf("%d",&n);
printf("%d has %d bits\n",n,f1(n));
printf("%d has %d bits\n",n,f2(n));
}本回答被网友采纳