题目:给一个不多于5位的正整数,要求:一、求他是几位数;二、逆序打印出个位数字。
代码
#include <stdio.h>
int main()
{
long a=0,b=0;
int t=0;
printf("请输入一个整数(不多于5位):");
scanf("%ld",&a);
for(t=0;a>0;a/=10,t++)
{
b=(b*10)+a%10;
}
printf("这个数是%d位的,逆序数=%ld\n",t,b);
return 0;
}
运行结果
代码2
#include <stdio.h>
int main()
{
long int a, b, c, d, e, x;
printf("Please enter a number <=99999: ");
scanf("%ld", &x);
a=x/10000; /*分解出万位*/
b=x%10000/1000; /*分解出千位*/
c=x%1000/100; /*分解出百位*/
d=x%100/10; /*分解出十位*/
e=x%10; /*分解出个位*/
if(a != 0)
printf("It is a 5 number, %ld %ld %ld %ld %ld\n",e,d,c,b,a);
else if(b != 0)
printf("It is a 4 number, %ld %ld %ld %ld\n",e,d,c,b);
else if(c != 0)
printf("It is a 3 number,%ld %ld %ld\n",e,d,c);
else if(d != 0)
printf("It is a 2 number, %ld %ld\n",e,d);
else if(e != 0)
printf("It is a 1 number,%ld\n",e);
return 0;
}