gpt4 book ai didi

c++ ->> 在流中留下 simbolst 吗?

转载 作者:行者123 更新时间:2023-11-28 06:55:11 25 4
gpt4 key购买 nike

我在下面写的代码计算了给定数字的数字总和,直到总和 > 10。所以,问题是:运算符“>>”从流中提取信息并使流为空?如果是,那么为什么我在将 EOF 位重置为 0 后不能执行“ss<< sum”?

int sum = 0;
stringstream ss("13245");
char ch;
while (1)
{
while (ss >> ch)
{
sum += ch - '0';
}
ss.clear();
ss << sum; //can't perfom
if (sum<10 ) break;
sum=0;


}
cout << sum;

最佳答案

用整数解决问题不是比用字符串更好吗?喜欢:

#include <iostream>

template<typename SomeIntegralT>
SomeIntegralT sum_digits(SomeIntegralT n) {
do {
SomeIntegralT sum = 0;
while( n ) {
sum += n % 10;
n /= 10;
}
n = sum;
} while( n > 9 );
return n;
}

int main()
{
std::cout << sum_digits(124343525ul) << std::endl;
std::cout << sum_digits(9999) << std::endl;
std::cout << sum_digits(12345) << std::endl;
}

关于c++ ->> 在流中留下 simbolst 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23278468/

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