第1个回答 2013-05-15
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<string>
#include<algorithm>
#include<memory.h>
#include<queue>
using namespace std;
int main()
{
double n;
int m,i;
while(cin>>n)
{
m=int(n);//把浮点型的n强制转化为整型,这样就不用管小数部分了
if(m==0)
{
printf("%d\n",0);//如果强制转化后为0那么直接输出0,比如0.6强制转化为整型后为0
continue;//输出后跳出本次循环,进行下一次输入循环
}
for(i=0;;i++)
{
m/=10;//不断除10,比如1234/10,除四次就是0了
if(m==0)//判断是否为0
break;//为0了表示除光了就跳出for循环
}
printf("%d\n",i+1);//i表示除了几次,但因为i从0开始所以要加1
}
return 0;
}
第2个回答 2013-05-15
int main()
{
int num;
int count = 1;
scanf("%d",&num);
if(num<1)
{
printf("%d\n",0);
return 0;
}
while(num)
{
if(num/10==0)
break;
num/=10;
++count;
}
printf("%d\n",count);
return 0;
}