c语言问题 输入一个不多于5位的正整数,输出它是几位数,分别输出每一位数字,并逆序输出
/*输入一个不多于5位的正整数,要求:1 求它是几位数;2 分别输出每一位数字;3 按逆
*/
#include "stdio.h"
main()
{
int a,bit ,b,b1,b2,b3,b4;
printf("please enter a number:\n");
scanf("%ld",&a);
L: if(a>0&&a<=99999)
{if(a<10)
bit=1;
if(a>9&&a<100)
bit=2;
if(a>99&&a<1000)
bit=3;
if(a>999&&a<10000)
bit=4;
if(a<=99999)
bit=5;
printf("%ld is %d of bit number\n",a,bit); }
else
goto L;
if(bit=5)
{
b=(int)(a/10000 );
b1=(int)(a/1000 )-b*10;
b2=(int)(a/100)-b*100-b1*10;
b3=(int)(a/10)-b*1000-b1*100-b2*10;
b4=a-b*10000-b1*1000-b2*100-b3*10;}
if(bit=4){
b=(int)(a/1000 );
b1=(int)(a/100 )-b*10;
b2=(int)(a/10)-b*100-b1*10;
b3=a-b*1000-b1*100-b2*10;
}
if(bit=3)
{ b=(int)(a/100 );
b1=(int)(a/10)-b*10;
b2=a-b*100-b1*10;}
if(bit=2)
{b=(int)(a/10);
b1=a-b*10;}
if(bit=1)
b=1;
printf("%ld number is:\n%d,%d,%
d,%d%,d%.\n",a,b,b1,b2,b3,b4);
printf("%ld else number is:\n%d,%d,%d,%d%,d%.",a,b4,b3,b2,b1,b);
getchar();
return 0;
}