#2
lxk17329422018-09-23 16:44
回复 楼主 lxk1732942
|
程序代码:
#include<stdio.h>
void main()
{
long m;
int a,b,c,d,e,n;
printf("请输入一个不多于5位的正整数: ");//现在还没有学goto语句,应去掉loop:
scanf("%ld",&m);
while(m!=(long)m||m<1||m>99999)
{
printf(" 输入有误\n\n\n请重新输入: ");
scanf("%ld",&m);
}
if(m<=9)n=1;
else if(m<=99)n=2;
else if(m<=999)n=3;
else if(m<=9999)n=4;
else n=5;
printf(" 它是%d位数\n",n);
printf(" 分别输出每一位数字:");
a=m/10000;
b=m/1000%10;
c=m/100%10;
d=m/10%10;
e=m%10;
switch(n)
{
case 1:printf("%d\n 按逆序输出各位数字:%d\n",e,e);break;
case 2:printf("%d,%d\n 按逆序输出各位数字:%d%d\n",d,e,e,d);break;
case 3:printf("%d,%d,%d\n 按逆序输出各位数字:%d%d%d\n",c,d,e,e,d,c);break;
case 4:printf("%d,%d,%d,%d\n 按逆序输出各位数字:%d%d%d%d\n",b,c,d,e,e,d,c,b);break;
case 5:printf("%d,%d,%d,%d,%d\n 按逆序输出各位数字:%d%d%d%d%d\n",a,b,c,d,e,e,d,c,b,a);
}
}
void main()
{
long m;
int a,b,c,d,e,n;
printf("请输入一个不多于5位的正整数: ");//现在还没有学goto语句,应去掉loop:
scanf("%ld",&m);
while(m!=(long)m||m<1||m>99999)
{
printf(" 输入有误\n\n\n请重新输入: ");
scanf("%ld",&m);
}
if(m<=9)n=1;
else if(m<=99)n=2;
else if(m<=999)n=3;
else if(m<=9999)n=4;
else n=5;
printf(" 它是%d位数\n",n);
printf(" 分别输出每一位数字:");
a=m/10000;
b=m/1000%10;
c=m/100%10;
d=m/10%10;
e=m%10;
switch(n)
{
case 1:printf("%d\n 按逆序输出各位数字:%d\n",e,e);break;
case 2:printf("%d,%d\n 按逆序输出各位数字:%d%d\n",d,e,e,d);break;
case 3:printf("%d,%d,%d\n 按逆序输出各位数字:%d%d%d\n",c,d,e,e,d,c);break;
case 4:printf("%d,%d,%d,%d\n 按逆序输出各位数字:%d%d%d%d\n",b,c,d,e,e,d,c,b);break;
case 5:printf("%d,%d,%d,%d,%d\n 按逆序输出各位数字:%d%d%d%d%d\n",a,b,c,d,e,e,d,c,b,a);
}
}
运行结果
只有本站会员才能查看附件,请 登录