7-3 逆序的三位数 (10分)
程序员文章站
2022-06-07 11:37:39
...
基础编程题目集
哈哈,显然这个题目比前面两道题要简单得多,从分值中就可以看到了吧。
先上题目:
这道题写了几分钟吧,我最后正确代码如下:
#include<stdio.h>
int main()
{
int a;
int x, y, z;
scanf("%d", &a);//输入三位数
x = a / 100;//求百位
y = a % 100 / 10;//求十位
z = a % 10;//求个位
if (z != 0)//判断前导是否为0
printf("%d%d%d", z, y, x);
else
{
if (y != 0) printf("%d%d", y, x);
else printf("%d", x);
}
return 0;
}
中间其实出现了一点小问题,我把x,y,z的顺序弄错了,导致输出的答案不是我想要的答案。
附上我同学的答案,他写的比我早:
#include <stdio.h>
int main()
{
int x, y, z, t;
scanf("%3d",&t);
x = t % 10;
y = ((t - x) / 10) % 10;
z = ((t - 10 *y - x) / 100) % 10;
if (x == 0 && y != 0)
printf("%d%d", y, z);
if (x == 0 && y == 0)
printf("%d", z);
if (x != 0 && y == 0)
printf("%d%d%d", x, y, z);
if (x != 0 && y != 0)
printf("%d%d%d", x, y, z);
return 0;
}
他把所有情况都罗列出来了,所以看着会比较多,逻辑稍微薄弱一点的朋友可能还会混乱,建议使用我的方法(自夸一波哈哈哈哈哈)。
所以,这第三题也很轻松的解决了。真的超级轻松。