C语言练习题:正序分解整数

要求:
1.输如一个非负整数,正序输出它的每一位
2.输入:12345
3.输出:1 2 3 4 5`


#include
int main()
{
	int x;
	scanf("%d",&x);
	int mask=1;
	int d=x;

	//统计输入整数的位数
	while(d>9){
		d/=10;
		mask*=10;
		//printf("d=%d mask=%d\n",d,mask);
	}
	//正序分解
	do{
		d=x/mask;
		printf("%d",d);
		if(mask>9){
			printf(" ");
		}
		x=x%mask;
		mask/=10;
	}while(mask>0);
	printf("\n");
	return 0;
}

思路:
循环1:
1234 /1000=1
1234%1000=234
1000/10=100
循环2:
234/100=2
234%100=34
100/10=10
循环3:
34/10=3
34%10=4
10/10=1
循环4:
4/1=4
4%1=0
1/10=0
退出循环

你可能感兴趣的:(C语言习题,C语言)