gpt4 book ai didi

c++ - 如何在C/C++中计算最多1000位的数字的位数

转载 作者:行者123 更新时间:2023-11-30 17:31:32 26 4
gpt4 key购买 nike

如何在 C 或 C++ 中计算最多 1000 位的数字的位数

#include <stdio.h>

int main()
{
int num,counter=0;

scanf("%d",&num);

while(num!=0){
num/=10;
counter++;
}

printf("%d\n",counter);
}

此代码仅适用于 10 位以内的数字 - 我不知道为什么。

最佳答案

由于大多数计算机无法容纳 1000 位数字的整数,因此您必须将输入作为字符串进行操作,或者使用Big Number库。让我们尝试一下前者。

将输入视为字符串时,每个数字都是 '0''9' 范围内的字符(含)。

所以,这可以归结为字符计数:

std::string text;
cin >> text;
const unsigned int length = text.size();
unsigned int digit_count = 0;
for (i = 0; i < length; ++i)
{
if (!std::isdigit(text[i]))
{
break;
}
++digit_count;
}
cout << "text has " << digit_count << "digits\n";

关于c++ - 如何在C/C++中计算最多1000位的数字的位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24562607/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com