编程题:我找了好久都没有找到错误请大家帮我找找
/*题目是这样的:给出一个不多于4位的正整数,按以下要求来编程1,求出它是几位数
2,分别打印每一位数字
3,按逆序打印出各位数字*/
#include <stdio.h>
void main()
{
int nam,g,s,b,q,wei;
printf("请输入不多于四位的正整数:");
scanf("%d",&nam);
printf("\n");
if (nam<=9999&&nam>999) /*判断输入数字的位数*/
wei=4;
else if (nam<=999&&nam>99)
wei=3;
else if (nam<=99&&nam>9)
wei=2;
else if (nam<=9&&nam>0)
wei=1;
else printf("你输入的数大于四位数或者不是正整数\n");
q=nam/1000; /*求出千位*/
b=(nam-q)/100; /*求出百位*/
s=(nam-q*1000-b*100)/10; /*求出十位*/
g=nam-q*1000-b*100-s*10; /*求出个位*/
if (wei==4) /*根据输入的数字位数输出,第各位数字*/
printf("你输入的数字是:%d%d%d%d\n",q,b,s,g);
else if (wei==3)
printf("你输入的数字是:%d%d%d\n",b,s,g);
else if (wei==2)
printf("你输入的数字是:%d%d%\n",s,g);
else if (wei==1)
printf("你输入的数字是:%d%\n",g);
switch (wei) /*早知道上面的用switch就好了,按逆序打印各位数字*/
{
else 4: printf("%d,%d,%d,%d\n",g,s,b,q);break;
else 3; printf("%d,%d,%d\n",g,s,b);break;
else 2; printf("%d,%d\n",g,s);break;
else 1; printf("%d\n",g);break;
}
}