C语言编程练习之——计算一个整数有几位

如果我们得到一个整数,比如:123,要获取这个整数有几位,该如何使用C语言进行计算呢?

这个题目,牵扯到一点算法,要稍微思考一下。

我说一下我的思路:

在大的思路上,我是使用while循环。

需要一个计数器,也就是一个计数的变量,这个变量的初始值,是0 , 每当计算一次,增加一位的时候,这个变量需要加1

在每一次的循环步骤之内,让被计算位数的整数,除以10,直到商为0为止

使用代码表示,如下图所示:

在上图代码中,第8行到第12行,就是这个算法的核心代码。

上面代码中,变量num是将要被计算位数的整数,变量bit是计数器。计数器初始值为0

就拿上面这个程序来说,num第一次除以10的时候,商为12,因为是整数相除,所以,商仍然是整数。在数学中,123除以10等于12.3,但是在C语言中,两个整数相除的时候,小数点被舍去。

然后变量num一直除以10,直到除到商为0

在第8行的小括号中,商为0的时候,循环不执行了。所以,while里面的语句,就不执行了。

每次循环时,变量bit都加1,最后,当跳出while循环的时候,bit最后的值,就是变量num的位数了。

零基础小白到大神之路,欢迎加群 四八七八七五零零四,群里有免费C++课程,还有大量干货哦

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171218A01SSM00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励