输入一个不大于10的数字,输出它的位数.
输入一个不大于10的数字,输出它的位数.
#include<stdio.h>
#include<math.h>
void main()
{
int i,m; float l;
scanf("%d",&m);
l=pow(10,i);
for(i=1;i<=10;i++)
if(int(m/l)==0)
break;
printf("%d",i)
}
那位大虾帮看下哪里编错了哇....
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<math.h>
void main()
{
int i,m,l;
scanf("%d",&m);
for(i=1;i<=10;i++)
{
l=(int)pow(10,i); //写到循环里面来,在外面I是什么都不知道
if(m/l==0)
break;
}
printf("%d\n",i);
}
----------------解决方案--------------------------------------------------------
谢谢2楼的我试了下,没错,多谢...
----------------解决方案--------------------------------------------------------
用字符串形式输入,直接输出它的长度(strlen())就可以.
----------------解决方案--------------------------------------------------------
或者直接
while(n/=10)
{
count++;
}
就可以.
----------------解决方案--------------------------------------------------------
谢谢我也学会了
----------------解决方案--------------------------------------------------------