C语言从零练习-8-分解整数

//整数分解,如n=13528-->1 3 5 2 8
// n/10000得到最高位的数,n%10000去掉最高位的数 
// 13528/10000=1;13528%10000=3528
// 3528/1000=3; 3528%1000=528 
// 528/100=5; 528%100=28
// 28/10=2; 28%10=8
// 8/1=8; 8%1=0

#include <stdio.h>

int main()
{
	int n; //要分解的数 
	int inst=1; //n要除的数 
	int m; //存放分解后的数 
	printf("输入正整数\n");
	scanf("%d", &n);
	int x=n; //存储初始的n值,方便再次使用 
//获取inst值,先获得最高位,然后inst/10逐次降低 
	n /= 10; 
	while ( n>0 )
	{
		inst *= 10;	
		n /= 10;			
	} 
	printf ( "inst=%d\n", inst);
	while ( x>=0 ) //x>=0可保障"0"的分解,如200 
	{
		m = x/inst; //取出最高位的数 
		x %= inst; //去掉最高位的数 
		inst /= 10;	
		printf("%d ", m);
	}
	return 0;
 } 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值