满意答案
lwp1989
2014.11.14
采纳率:52% 等级:8
已帮助:1563人
#include"stdio.h"
voidmain()
{
unsignedlonginta=0;//用int可能会溢出//
intflag=0;
intb[5];
//以下部分用于判断数据的位数//
while(flag==0)
{
printf("Inputthenumber
");
scanf("%ld",&a);
if(a>0&&a<10)flag=1;
elseif(a>=10&&a<100)flag=2;
elseif(a>=100&&a<1000)flag=3;
elseif(a>=1000&&a<10000)flag=4;
elseif(a>=10000&&a<100000)flag=5;
else
{
printf("InputError
");
flag=0;
}
}
printf("Thenumberhas%ddigits
",flag);
b[4]=a%10;//个位//
b[3]=(a%100)/10;//十位//
b[2]=(a%1000)/100;//百位//
b[1]=(a%10000)/1000;//千位//
b[0]=(a/10000);//万位//
for(;flag>0;flag--)
{
printf("%d",b[flag-1]);//从个位开始输出//
//printf("%d",b[5-flag]);//从高位开始输出//
}
printf("
");
}
不知道你逆序的意思,所以在输出时有两种方式,你可以选择
02分享举报