栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

初识C语言==>如何将输入的数字逆序打印?

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

初识C语言==>如何将输入的数字逆序打印?

这个问题是我在做学校的作业时候看到的。只隐约有印象讲过,但是忘记了怎么操作。听同学的点通才回想起来,特此写个博客留记


逆序打印

目的:输入“789”,打印“987”

注:本博客的数字逆序只涉及 十进制

代码实现有两种方式:
1.利用if语句进行大小判断,直到选出从大到小的数字排序
这个方法十分复杂,稍不留意就会弄错,所以在实际应用中不推荐这样操作
这里就不赘述具体代码了。(才不是懒,压根没试过)
2.使用%10的方法直接打印
代码如下:

#include 

int main()
{
	int a = 0;
	scanf("%d", &a);

	printf("%d", a % 10);
	printf("%d", a/10 % 10);
	printf("%d", a/100 % 10);
	return 0;
}

代码结果如下

这个代码成功达到了我们的目的,但是有一个比较明显的弊端
如果我们需要更多位的数字的逆序数时,这个代码就会变得很长,而且每次都需要我们手动添加一个新的printf

代码优化

想要逆序比较长的数字,就需要用到循环语句,我使用的是for循环
主要需要解决的问题是,a每%10一次后就需要除以10再%10一次

#include 

int main()
{
	int a = 0;
	int n = 0;
	int i = 0;
	printf("请输入需要逆序的数字:");
	scanf("%d", &a);
	printf("请输入该数字的位数:");
	scanf("%d", &n);
	for (i = 0; i < n; i++)
	{	
		printf("%d", a % 10);
		a /= 10;
		
	}
	return 0;

}

代码运行结果如下

我们的目的成功达成!

希望这对你有帮助!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/330442.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号