三种算法获取一个整数的每个数字

本文展示了三种不同的算法来获取一个整数的每一位数字,包括从大到小取模、从小到大取模并逆序输出、直接除法的方式。作者比较了这三种方法,认为第二种和第三种更为优秀,并邀请读者分享更简洁的解决方案。
摘要由CSDN通过智能技术生成
// getnumber.cpp : Defines the entry point for the console application.
//
// Author:shizhixin  
// Email:szhixin@gmail.com  
// Blog:http://blog.csdn.net/shizhixin  
// Date:2012-05-06
/*
晚上无法入眠,随手翻开床头的编程珠玑看看,
做了做第三章的第8题,突然想做这样一个获取一个整数每个数字的小程序,
比如输入1131,输出1 1 3 1
程序给出了实现这个的三个算法,大致可以总结:
第一种方法是从大到小先取模后做除法,正序输出
第二种方法是从小到大先取模后做除法,不过做完后要逆序去零输出
第三种方法是先做除法后取模
个人认为第二种算法优于第一种,第三种算法优于第二种,
或许是我思维的一个过程,所以感觉总要有点进步才更新算法吧。
如果有更好更简单的算法实现的程序,欢迎交流!*/


#include "stdafx.h"
#include <math.h>
const int MAX_NUM_BIT = 5;

//参数异常判断
bool assert_para(int n)
{
	if (n<=0 || n>pow(10,MAX_NUM_BIT))
	{
		printf("input number must be > 0 and < pow(10,MAX_NUM_BIT)!");
		return false;
	}
	ret
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值