逆序 要求程序每次读入一个正三位数,然后输出逆序的数字。注意,当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。 哥哥们看一下

[复制链接]
查看11 | 回复5 | 2021-1-27 06:02:22 | 显示全部楼层 |阅读模式
#include
intmain()
{
inta,b,c,d,e;
scanf("%d",&a);
b=a/100;
e=a%100;
c=e/10;
d=a%10;
if(c>0&&b>0)
{
printf("%d%d%d\n",d,c,b);
}
else
{
printf("%d\n",d);
}
return0;
}
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:02:22 | 显示全部楼层
b、c只有1个0的情况没考虑,比如405这种
回复

使用道具 举报

千问 | 2021-1-27 06:02:22 | 显示全部楼层
能帮忙改一下吗,,,,不会我
回复

使用道具 举报

千问 | 2021-1-27 06:02:22 | 显示全部楼层
两种方法
intmain()
{
inta,b,c,d,e;
scanf("%d",&a);
////注释掉的代码可以,不限制数的大小,得到的y值即倒序后的数值
//intx,y=0;
//while(a){
//x=a%10;
//y=y*10+x;
//a/=10;
//}
b=a/100;//百位
c=a%100/10;//十位
d=a%10;//各位
printf("%d\n",d*100+c*10+b);
return0;
}

回复

使用道具 举报

千问 | 2021-1-27 06:02:22 | 显示全部楼层
#include
intreverse_order_num(intnum);
intmain()
{
inta,b,c,d,e;
scanf("%d",&a);
#if0
b=a/100;
e=a%100;
c=e/10;
d=a%10;
if(c>0&&b>0)
{
printf("%d%d%d\n",d,c,b);
}
else
{
printf("%d\n",d);
}
#endif
printf("%d\n",reverse_order_num(a));
return0;
}
intreverse_order_num(intnum)
{
inttmp=0;
while(num){
tmp=tmp*10+num%10;
num/=10;
}
returntmp;
}
供参考!
满足小于2^31-1的数据

回复

使用道具 举报

千问 | 2021-1-27 06:02:22 | 显示全部楼层
#include
intmain()
{
inta,b,c,d,e;
scanf("%d",&a);
b=a/100;
e=a%100;
c=e/10;
d=a%10;
if(c>0&&d>0)
{
printf("%d%d%d\n",d,c,b);
}
if(c>0&&d==0)
{
printf("%d%d\n",c,b);
}
if(c==0&&d==0)
{
printf("%d\n",b);
}
return0;
}
我修改了下楼主的代码,实测可行
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行