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

整数分解:C/C++

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

整数分解:C/C++

整数分解:C语言_翁恺老师

正序分解逆序分解

正序分解

思路:
特殊情况:数字末尾有0。

#include

int main()
{
	// 计算整数的位数
	int mask = 1;
	int t = x;
	while(t> 9) {
		t /= 10;
		mask *= 10;
	} 
	
	do {
		int d = x / mask;
		printf("%d", d);
		if(mask > 9) { // 这里的判断条件应该用mask,而不是x
			printf(" ");
		}
		x %= mask;
		mask /= 10;
	} while(mask > 0); // 注意循环条件
	return 0;
}
逆序分解

思路:
在do while循环中,不断对n取余,得到最右边的各位数,并依次输出。

#include

int main()
{
	int x = 12345;
	do { // 要用do while循环,防止x的初始状态就是0
		int d = x%10;
		printf("%d", d);
		if(x>9) { // 整数分解的最后一轮一定是个位数
			printf(" ");
		}
		x /= 10;
	} while( x>0 );
	printf("n");
	return 0;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/769414.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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