输入一个不多于5位的正整数,判断他是几位数,并输出每一位数字
题目分析
题目可以采用if语句进行判断位数
也可以采用递归的方式进行判断
程序代码
1、采用递归方式的程序代码:
#include "stdio.h"
int cnt(long int a)
{
if(a/10 == 0)
{
return 1;
}
else
{
a=a/10;
return 1+cnt(a);
}
}
int main()
{
long int input;
printf("请输入一个5位数以内的正整数:");
scanf("%d",&input);
printf("\n%ld是%d位数",input,cnt(input));
}
2、采用判断方式的代码:
#include "stdio.h"
int main()
{
long int input;
int n;
printf("请输入一个5位数以内的正整数:");
scanf("%d",&input);
if(input>=10000) n=5;
else if(input>=1000) n=4;
else if(input>=100) n=3;
else if(input>=10) n=2;
else n=1;
printf("\n%ld是%d位数",input,n);
}