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

他把所有情况都罗列出来了,所以看着会比较多,逻辑稍微薄弱一点的朋友可能还会混乱,建议使用我的方法(自夸一波哈哈哈哈哈)。

突然,我另一个同学写了这道题,让我觉得他的思路也不错,先上代码:

#include<stdio.h>
int main()
{
	char a,b,c;
	scanf("%c%c%c", &a, &b, &c);
	if(c == '0' && b == '0')
		printf("%c", a);
	else if(c == '0')
		printf("%c%c", b, a);
	else
		printf("%c%c%c", c, b, a);
	return 0;
}

他用字符输入输出,但是要注意字符和整型的0是不一样的,这就是他第一次错的原因。

所以,这第三题也很轻松的解决了。真的超级轻松。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值