逆序的三位数

163 阅读1分钟

Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情

题目描述

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

输入格式:

每个测试是一个3位的正整数。

输出格式:

输出按位逆序的数。

输入样例:

123

输出样例:

321

思路分析

逆序输出有很多种方法。

可以以数的方式,题目说明好是三位数,可以直接用a、b和c三个变量去拆分这个三位数,然后倒回来乘权重相加。

这里提供了另一种方法。

我们用字符串去解决这个问题。

把这个数存到一个字符串里面。

然后倒回来输出,分最后一位是不是0有两种情况,如果是0的情况,那么是0就不输出,如果不是,那么直接倒着输出完事。

AC代码

#include<stdio.h>
int main()
{
	int i;
	char a[4];
	scanf("%s",a);
	if(a[2]=='0')
	for(i=2;i>=0;i--)
	if(a[i]!='0')
	printf("%c",a[i]);
	if(a[2]!='0')
	for(i=2;i>=0;i--)
	printf("%c",a[i]);
}