求助!請C語言高手幫我看看這個錯在哪裡~
題目:輸入一個不多於5位的正整數,要求:
1.求它是幾位數;
2.分別輸出每一位數字;
3.按照逆序輸出各位數字。例如原數位321,應輸出123.
我的編程如下:
#include<stdio.h>
#include<math.h>
void main()
{
long int number;
int indiv,ten,hund,thou,t_th; /*分别代表个位、十位、百位、千位、万位*/
printf("place input a whole number(0~99999):\n");
scanf("%ld",&number);
if(number<0||number>99999)printf(“The date is error\n");
else if(number>9999)printf("place=5");
else if(number>999)printf("place=4");
else if(number>99)printf("place=3");
else if(number>9)printf("place=2");
else printf("place=1");
printf("each number is:");
t-th=number/10000;
thou=(int)(number-t_th*10000)/1000;
hund=(int)(nnumber-t_th*10000-thou*1000)/100;
ten=(int)(number-t_th*10000-thou*1000-hund*100)/10;
indiv=(int)(number-t_th*10000-thou*1000-hund*100-ten*10);
{
if(number>9999)printf("%d,%d,%d,%d,%d",t_th,thou,hund,ten,indiv);
printf("\nThe reverse number is:");
printf("%d%d%d%d%d\n",indiv,ten,hund,thou,t_th);
else if(number>999)printf("%d,%d,%d,%d",thou,hund,ten,indiv);
printf("\nThe reverse number is:");
printf("%d%d%d%d\n",indiv,ten,hund,thou);
else if(number>99)printf("%d,%d,%d",hund,ten,indiv);
printf("\nThe reverse number is:");
printf("%d%d%d\n",indiv,ten,hund);
else if(number>9)printf("%d,%d",ten,indiv);
printf("\nThe reverse number is:");
printf("%d%d\n",indiv,ten);
else printf("%d",indiv);
printf("\nThe reverse number is:");
printf("%d\n",indiv);
}
}
点击运行的时候上面程序红色部分代码总是显示misplaced else in function main
但是我又不知道ELSE的位置哪里错了。
我是新学者,对C语言仍旧十分生涩。
请高手给予指点。
谢谢。
[[it] 本帖最后由 qynn 于 2008-10-8 12:49 编辑 [/it]]