这道题也很简单:利用模运算和除运算依次求出个、十、百。。。。位的值并打印,然后位数累加即可。
直接看程序:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
int digits(int);
printf("Please input an integer!\n");
scanf("%d",&i);
printf("It contains %d digits!\n",digits(i));
return 0;
}
int digits(int n)
{
int d=0; //包含的位数
int t; //各位上的值
while(n>0)
{
t=n%10;
printf("%d",t);
n/=10;
d++;
}
printf("\n");
return d;
}