// 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
三种算法获取一个整数的每个数字
最新推荐文章于 2022-04-21 02:42:47 发布
本文展示了三种不同的算法来获取一个整数的每一位数字,包括从大到小取模、从小到大取模并逆序输出、直接除法的方式。作者比较了这三种方法,认为第二种和第三种更为优秀,并邀请读者分享更简洁的解决方案。
摘要由CSDN通过智能技术生成