求位数,输出各个位,倒序输出各个位
int main()
{
int number=0,numberBak=0,quotient=-1,divider=10000;
int i,j,flag=1;
printf("请输入一个不大于5位数的整数:");
scanf("%d",&number);
numberBak=number;
for(i=0; i<5; i++)
{
quotient=number/divider;
number=number%divider;
divider=divider/10;
if(flag && quotient>0)
{
j=5-i;
printf("这是%d位数\n每个位数是:",j);
flag=0;
}
if(flag==0)
printf("%d ",quotient);
}
printf("\n倒序结果为:");
for(i=0; i<j; i++)
{
printf("%d ",numberBak%10);
numberBak=numberBak/10;
}
return 0;
}
进一步简化:
int main()
{
int number=0,numberBak=0,quotient=-1,divider=10000;
int i,j=0;
printf("请输入一个不大于5位数的整数:");
scanf("%d",&number);
numberBak=number;
for(i=0; i<5; i++)
{
quotient=number/divider;
number=number%divider;
divider=divider/10;
if(j==0 && quotient>0)
{
j=5-i;
printf("这是%d位数\n每个位数是:",j);
}
if(j>0)
printf("%d ",quotient);
}
printf("\n倒序结果为:");
for(i=0; i<j; i++)
{
printf("%d ",numberBak%10);
numberBak=numberBak/10;
}
return 0;
}