c语言怎么把数字倒过来_C语言中把一个数倒过来输入

/*给一个不多于5位的正整数要求:(1)求出它是几位数(2)分别输出每一位数字(3)按逆序输出各位数字,123→321*/#include"stdio.h"main(){inta,b,c,d,e,place;/*place是位数*/long...

/* 给一个不多于5位的正整数 要求:

(1)求出它是几位数

(2)分别输出每一位数字

(3)按逆序输出各位数字,123→321*/

#include "stdio.h"

main()

{

int a,b,c,d,e,place; /*place是位数 */

long int f,g;

printf("please input a figure:");

scanf("%ld",&f);

if(f>=100000||f<0)

printf("error");

else if(f/10000>0)

place=5; /*用place为了方便第三问 也是一种更好的方法*/

/* printf("you 5 wei\n"); */

else if(f>999) /*此方法更简单*/

place=4;

/* printf("you 4 wei\n"); */

else if(f/100>0)

place=3;

/* printf("you 3 wei\n"); */

else if(f/10>0) /*不要写成% 应该是/除号*/

place=2;

/* printf("you 2 wei\n"); */

else

place=1;

/* printf("you 1 wei\n"); */ /*这里错了 写着 不能到达的代码在 main 函数中 因为%的缘故n%1*/

printf("you %d wei\n",place);

/*(2)*/

a=f/10000;

b=(f-(a*10000))/1000; /*把f用括号括进去*/

c=(f-((b*1000)+(a*10000)))/100;

d=(f-((c*100)+(b*1000)+(a*10000)))/10;

e=(f-((d*10)+(c*100)+(b*1000)+(a*10000)))/1;

printf("%d%d%d%d%d\n", a, b, c, d, e);

f=a*10000+b*1000+c*100+d*10+e*1;

/*g=e*10000+d*1000+c*100+b*10+a*1;*/

printf("kaishi de shu wei %d\n",f);

/* printf("dao guo lai de shu wei %d\n",g); */

/* } 若原数为123 错拉 显示到过来的数为32100 */

/*(3)*/

switch(place)

{

case 5:printf("dao guo lai de shu wei:");

printf("%d%d%d%d%d",e,d,c,b,a);

break;

case 4:printf("dao guo lai de shu wei:");

printf("%d%d%d%d",d,c,b,a);

break;

case 3:printf("dao guo lai de shu wei:");

printf("%d%d%d",c,b,a);

break;

case 2:printf("dao guo lai de shu wei:");

printf("%d%d",b,a);

break;

case 1:printf("dao guo lai de shu wei:");

printf("%d",a);

}

}

当你输入12345时没错 但是你输入123 会显示100 输入1234 应该会显示3210

还有一个问题就是第2问输入 123 会显示 00123 而不是123

我知道有点麻烦 大哥们拜托拉

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值