gpt4 book ai didi

c++ - 将 C 字符串转换为单个整数

转载 作者:行者123 更新时间:2023-11-30 02:20:11 25 4
gpt4 key购买 nike

本练习要求将输入作为数字的字符数组,然后将数字的数字相加。

#include <iostream>
#include <cstring>
#include <cstdlib>

using namespace std;

int main() {

//Input a series of single digit numbers
char numbers[] = "a";

cout << "Input a series of single digit numbers." << endl;
cin >> numbers;

//convert the character array into a int array.
int sum = 0;
for (int i = 0; i < size; i++) {
sum += atoi(numbers[i]);
}
cout << "Sum of digits: " << sum;

return 0;
}

根据我的理解,atoi 函数一次只转换整个字符数组(C 字符串),我想我不能单步执行数组,但看起来这应该可行。我的另一种选择是将 Cstring 转换为一个大整数,然后使用字符串的长度遍历并计算每个位置的数字,但这可能比我能做的更低效。

您将使用什么来查找单个数字作为字符数组的整数?

最佳答案

char numbers[] = "a";

这将创建一个包含 2 char 的数组项目。这对于任何合理的事情都是不够的。使用 std::string相反。

cin >> numbers;

更好用std::getline来自 <string>标题。

sum += atoi(numbers[i]);

atoi将字符串作为参数,而不是单个 char .您想要数字的总和,而不是通过应用 atoi 获得的数值的总和到规范的所有正确子串。

对于数字字符 ch ,对应的数字值为ch - '0' .

关于c++ - 将 C 字符串转换为单个整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50050527/

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