为什么我的代码从 10 位数字开始不起作用C++
Why does my code not work starting from 10 digits in C++?
此代码计算我们输入的数字的位数,具体取决于如果将一个数字除以多一位数字的数字,则始终得到小于 1;程序仍然会除以,直到它小于 1。我试图num
定义为长整数。
#include <iostream>
#include <cmath>
using namespace std;
int main () {
int num,n,dev;
dev = 10;
n = 1;
cin >> num;
double dn = num / dev;
if (dn < 1){
cout << n;
}
if (dn >= 1){
while (dn >= 1){
dev *= 10;
dn = num / dev;
n++;
}
cout << n;
}
return 0;
}
我希望它适用于所有数字。
更改
int num,n,dev;
自
long long num,n,dev;
因为 int 可以拥有的最大数字是 2,147,483,647
相关文章:
- 当回溯以零开始时,如何调试崩溃
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- 检查输入是否不是整数或数字
- 如何(从固定列表中)选择一个数字序列,该序列将与目标数字相加
- 如何用数字处理log(0)
- 最高有效数字侧的第N位
- 如何获取一个数字的前3位
- 查找最接近的大于当前数字的数字的索引
- 找到两对数字,使它们的乘积的绝对差最小化
- 为什么当我输入大量数字时,我的计算器程序开始闪烁和滚动
- 取代表开始/结束的数字对,并删除重叠
- 如何找到从用户输入的数字开始的 20 个奇数?
- 正则表达式,捕获 4 个被 括起来的数字.或行开始/结束
- 为什么我的代码从 10 位数字开始不起作用C++
- 随机选择一个 0 到 8 之间的数字,直到没有数字可以选择,然后重新开始
- Rand从一个最大值为75的数字(36)开始时是如何工作的
- QT:如何从服务器替换JSON中的数字(开始,结束)
- c++编译器什么时候开始考虑在字符串转义中使用两个以上的十六进制数字?
- 如何在 ofn.lpstrFilter 中用数字开始文件格式名称?它不允许在开头写 3?