计算数的位数

一、简介

今天我想给大家介绍如何实现算出数的位数。

何为数的位数呢?我们都知道。一个正整数都有个十百千万等等位数,这些位数的个数就是数的位数。通俗来讲,数的位数就是一个数有几个数字

例如:641就是3位数,125678就是6位数。

二、思路

如何算出位数呢?

思路1

中学里我们肯定都学过log函数,当log以10为底的话,即为lg,要算的位数为lg要求数为底的对数+1。用函数可以轻松算出。

思路2

当然,我们可以不用函数自己进行计算。例如数654321,我们将它每次整除10,算出的整除次数就是位数了。我们可以另外设一个变量,初始值为0,每循环一次进行加一操作。最后打印出来即为位数

三、代码实现

思路1

#include<stdio.h>
#include<math.h>               //注意包含头文件
int main()
{
    int n,i;
	scanf("%d", &n);             
	i = (int)log10(n) + 1;     //函数计算
	printf("%d", i);
	return 0;
}

思路2

#include<stdio.h>
int main()
{
    int k,c=0;
	scanf("%d",&k);             
	while(k)           //循环算位法 
	{
		c++;
		k=k/10;
	}                                       
	printf("%d\n",c);            			                 
	return 0;
}

四、总结

注意:由于int 存在范围,该算法不能算超过十位的数字

对于两种方法,第一种运用函数代码行数少,更易想到。这种函数叫做标准函数

另外,假如对是否要+1存在疑问,我们可以先行运算一下试试看。

五、标准函数

代码中的log10就是标准函数,也叫库函数。

为了不再重复实现常见的代码,让程序员提升开发效率,C语言标准规定了一组函数,这些函数就叫做标准函数。一个系列的库函数一般会声明在同一个头文件中,所以大家在使用时要注意包含头文件。(如代码中的math.h)

标准函数可供参考链接:https://zh.cppreference.com

                                                                                   路漫漫其修远兮,吾将上下而求索

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值