欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

7-3 逆序的三位数 (10分)

程序员文章站 2022-06-07 11:37:39
...

基础编程题目集

哈哈,显然这个题目比前面两道题要简单得多,从分值中就可以看到了吧。
先上题目:
7-3 逆序的三位数 (10分)
这道题写了几分钟吧,我最后正确代码如下:

#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;
}

他把所有情况都罗列出来了,所以看着会比较多,逻辑稍微薄弱一点的朋友可能还会混乱,建议使用我的方法(自夸一波哈哈哈哈哈)。
所以,这第三题也很轻松的解决了。真的超级轻松。