C 语言计算数字位数

2025 年 3 月 25 日 | 阅读 3 分钟

现在,我们将看看如何计算整数中的数字个数。这个整数就是用户输入的数字。

首先,我们将使用 for 循环或 while 循环计算数字的个数。

方法

  • 首先,用户将输入数字。假设我们声明变量“n”并将整数值存储在“n”变量中。
  • 我们将创建一个 while 循环,该循环将一直迭代,直到“n”的值不等于零。
  • 假设“n”的值是 123。
  • 当第一次迭代执行时,“n”的值将为 123,count 的值将增加到 1。
  • 当第二次迭代执行时,“n”的值将为 12,count 的值将增加到 2。
  • 当第三次迭代执行时,“n”的值将为 1,count 的值将增加到 3。
  • 第三次迭代完成后,“n”的值变为 0,循环终止,因为它不满足条件 (n!=0)。

让我们创建一个程序来实现上述方法。

输出

Count the number of digits in C

现在,我们将看到如何在不使用循环的情况下计算数字的个数。

我们还可以借助对数函数来计算数字的个数。数字的个数可以使用 log10(num)+1 计算,其中 log10() 是 math.h 头文件中预定义函数。

让我们看一个简单的例子。

输出

Count the number of digits in C

我们将创建一个 C 程序来使用函数计算数字的个数。

输出

Count the number of digits in C

现在,我们将看到如何使用递归计算数字的个数。

在上面的程序中,我们正在计算整数中的数字个数。func() 函数被调用。在 func() 中,我们声明一个静态变量,即 counter,它只会被初始化一次。func(n/10) 将被递归调用,直到条件 (n>0) 为真。当条件为假时,将返回 counter 的值。

输出

Count the number of digits in C