0
点赞
收藏
分享

微信扫一扫

整数分解:C/C++_翁恺老师

phpworkerman 2022-03-15 阅读 135
c语言c++

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

正序分解

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

#include<cstdio>

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<cstdio>

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

相关推荐

0 条评论