【发布时间】:2011-09-29 21:42:07
【问题描述】:
我最近正在制作一个程序,该程序需要检查用户输入的数字中的位数。结果我做了以下代码:
int x;
cout << "Enter a number: ";
cin >> x;
x /= 10;
while(x > 0)
{
count++;
x = x/10;
}
据我所知(即使我的经验有限),它看起来很粗糙而且相当不雅。
有没有人知道如何改进这段代码(而不使用内置的 c++ 函数)?
【问题讨论】:
-
我假设
x是int,否则这将永远到达0 -
循环前你是谁做的划分?
-
如果您不能使用内置函数,那么您就会遇到“粗鲁和不雅”的问题。
-
什么意思,没有内置函数?例如,在 ARM CPU 上,除法运算符是一个内置函数。
-
抱歉,需要澄清一下。我假设有一种方法可以使用 C++ 标准库中的某个函数简单地计算整数中的位数(我当然可能是错误的)。为了了解有关 C++ 的更多信息,我决定尝试自己编写大部分代码,只是为了了解这些代码是如何工作的,因此尝试“手动”计算位数。
标签: c++ while-loop digits counting