这个程序究竟错在哪了?
输入一个不高于5位的正整数,要求输出共有几位,每位数字以及逆序数字(如果输入123,逆序数字为321)
main()
{long int s;int p,n[6],t,b;
printf("请输入1~99999之间的数字:");
scanf("%ld",&s);
for(p=0,b=1;;b*=10,p++)
if((t=s/b)!=0) n[p+1]=t%10;
else break;
printf("\n共有%d位数\n",p);
printf("每位数字为:");
for(b=p;b>0;b--)
printf("%5d",n[p]);
printf("\n逆序数字为:");
for(b=1;b<=p;b++)
printf("%d",n[p]);
printf("\n");
}
结果如下: 请输入1~99999之间的数字: 12345
共有5位数
每位数字为 1 1 1 1 1
逆序数字为11111
到底错了哪了????请大家帮忙看看~~~~~`