求正整数的位数及正序逆序输出

本文介绍了如何使用C语言分别求解正整数的位数,并实现正序和逆序输出。通过求位数的Getnum函数和输出函数,详细解释了整数除法和取余的原理,以及void和int返回值类型的差异。
摘要由CSDN通过智能技术生成

求正整数的位数及正序逆序输出

正整数,在计算机中是作为一个整体来进行存储的。而本次将正整数正序输出和逆序输出都需要我们将其每一位上的数字单独提取出来,按照相应的次序进行输出。为了提取正整数每一位的数字,我们可以借助for循环根据10进制数字的数学关系用相应的计算得出。而为了方便确定for循环的起点和终点,我们会优先求出该整数的位数,在此基础上再进行前面的操作。

求整数的位数

在这里,我们单独建立一个函数Getnum来达到目的。
不但方便了以后的调用,而且不论我们在子函数中对该正整数进行什么样的操作,都不会影响主函数中数字本身的值。(相信大家都会明白吧,参数问题啦参数问题啦,实在不行就记住吧,记住还不行吗~)
话不多说,代码如下:

int Getnum(int n)
{
   
	int i=0;
	while(n!=0)
	{
   
		n/=10;
		i++;
	}
	return i;
}

为什么会实现呢?
首先,我们要明确整除(/)这一运算。整除是不存在小数的,整数部分会被保留,小数部分就被抛弃了,比如123/10就只会剩下12。

此外,我们设置了帮助我们计数的i,n(我们需要处理的正整数,相信大家都能看出来,以后就用n代替了)在while循环中每次都整除10,相当于从个位开始每次循环都丢弃一位数字,每丢一次i就加1,每丢一次i就加1。

最后,i就是n各位数中能被我们丢掉的非0数字的个数了。

正序输出和逆序输出

好了,正菜来了!

1.正序输出

相信大家都已经等不及了吧,先上代码:

void ForwardPrint(int n)//正序输出
{
   
	for(int i=Getnum(n);i>=1
  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值