/*--------------------------------------村长学习c之路-dev c++--------------------------*/
/*-----------输入一个不超过5位的整数,求这个整数的位数,并将其反置-------------*/
#include
#include
int main()
{
unsigned int x;
int num=0;
int x10000,x1000,x100,x10,x1;//定义万位、千位、百位、十位、个位数
printf("请输入一个不超过5为的正整数\n");
scanf("%u",&x);
int temp=x;//保存输入的整数
if((x10000=(int)(x/10000))!=0)//这一段的处理办法有点笨
{
num++;
x=x-x10000*10000;
}
if((x1000=(int)(x/1000))!=0)
{
num++;
x=x-x1000*1000;
}
if((x100=(int)(x/100))!=0)
{
num++;
x=x-x100*100;
}
if((x10=(int)(x/10))!=0)
{
num++;
x=x-x10*10;
}
if((x1=(int)(x/1))!=0)
{
num++;
x=x-x1*1;
}
printf("%d的万位是:%d\n,千位是:%d\n,百位是:%d\n,十位是:%d\n,个位是 :%d\n",temp,x10000,x1000,x100,x10,x1);
printf("%d的位数为:%d\n",temp,num);
switch(num)//这一段的处理办法也有点笨,以后一起改进
{
case 5:
x=x1*10000+x10*1000+x100*100+x1000*10+x10000;
break;
case 4:
x=x1*1000+x10*100+x100*10+x1000;
break;
case 3:
x=x1*100+x10*10+x100;
break;
case 2:
x=x1*10+x10;
break;
case 1:
x=x1;
break;
default :printf("错误\n");
}
printf("原来输入的数是:%d\n,经过倒置的数是:%d",temp,x);
system("PAUSE");
return 0;
}
阅读(309) | 评论(0) | 转发(0) |