由键盘输入一个不多于9位的正整数,要求输出它是几位数。
#include <stdio.h>
int main()
{
int a,k;
scanf("%d",&a);
if(a>0&&a<10) k=1;
if(a>10&&a<100) k=2;
if(a>100&&a<1000) k=3;
if(a>1000&&a<10000) k=4;
if(a>10000&&a<100000) k=5;
if(a>100000&&a<1000000) k=6;
if(a>1000000&&a<10000000) k=7;
if(a>10000000&&a<100000000) k=8;
if(a>100000000&&a<1000000000) k=9;
printf("%d",k);
}
先是一种不用动脑的做法,简单粗暴哈哈哈。但是这么做太多缺点了。
#include <stdio.h>
int main()
{
int a;
int count=0;
scanf("%d",&a);
while(a%10!=0){
a/=10;
count++;
}
printf("%d\n",count);
return 0;
}
因此可以用循环的方法解决。输入一个数之后取余10,看看它是否为零,当它不为零的时候,计数加一,然后除以10,接着继续循环直至取余10后为零结束,输出的计数即为数的位数。