题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字
#include <stdio.h>
int main () {
long x;
int x1,x2,x3,x4,x5;
printf("请输入不超过5位数的数:\n");
scanf("%ld",&x);
printf("输入的数值为%ld\n",x);
x1 = x / 10000;
x2 = x % 10000 / 1000;
x3 = x % 1000 / 100;
x4 = x % 100 / 10;
x5 = x % 10;
if( 0 != x1 )
printf("该数是五位数,逆序为:%d %d %d %d %d",x5,x4,x3,x2,x1);
else if( 0 != x2 )
printf("该数是四位数,逆序为:%d %d %d %d ",x5,x4,x3,x2);
else if( 0 != x3 )
printf("该数是三位数,逆序为:%d %d %d ",x5,x4,x3);
else if( 0 != x4 )
printf("该数是两位数,逆序为:%d %d ",x5,x4);
else if( 0 != x5 )
printf("该数是一位数,逆序为:%d ",x5);
else
printf("该数为0\n");
return 0;
}
请输入不超过5位数的数:
输入的数值为10000
该数是五位数,逆序为:0 0 0 0 1