编制程序,其功能是:从键盘输入一个不多于5位的整数,能显示出它是几位数,并按正反两种顺序显示出各位数字。例如,若输入整数12345,输出为:
题目是 编制程序,其功能是:从键盘输入一个不多于5位的整数,能显示出它是几位数,并按正反两种顺序显示出各位数字。例如,若输入整数12345,输出为:n=5
12345
54321
答案在下面 我运行发现第6行出错 我不明白的正是这一行和c1=c2=c3=c4=c5=''; 和 case 5:c5=x%10+'0';x=x/10;里的那个+'0' 没必要吧?我总感觉这错了
各位帮帮我啊
#include<stdio.h>
void main()
{char c1,c2,c3,c4,c5; /*存放各位数字的变量*/
int n; /*存放整数的位数*/
long int x; /*整数x*/
c1=c2=c3=c4=c5='';
scanf("%ld",&x);
if(x>=10000) /*确定x是几位数*/
n=5;
else if(x>=1000)
n=4;
else if(x>=100)
n=3;
else if(x>=10)
n=2;
else n=1;
switch (n) /*获取x的各位数字*/
{case 5:c5=x%10+'0';x=x/10;
case 4:c4=x%10+'0';x=x/10;
case 3:c3=x%10+'0';x=x/10;
case 2:c2=x%10+'0';x=x/10;
case 1:c1=x%10+'0';
}
printf("n=%d\n",n);
printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5); /*顺序打印*/
printf("%c%c%c%c%c\n",c5,c4,c3,c2,c1); /*逆序打印*/
}