【发布时间】:2021-11-14 01:52:01
【问题描述】:
要求的程序是数字的总和:
输入数据格式如下: 第一行包含 N - 要处理的值的数量; 然后 N 行将描述数字总和应由 3 个整数 A B C 计算的值; 对于每种情况,您需要将 A 乘以 B 并添加 C(即 A * B + C) - 然后计算结果的位数之和。
答案应该有N个结果,同样用空格隔开
我的 C++ 代码:
#include <iostream>
using namespace std;
int main ()
{
int n, a, b, c, t, sum = 0;
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> a >> b >> c;
t = a * b + c;
while (t % 10 != 0)
{
sum = sum + t % 10;
t = t / 10;
}
while (t % 10 == 0)
{
sum = sum;
t = t / 10;
}
}
cout << " ";
cout << sum;
cout << " ";
return 0;
}
我很难纠正我的代码。
感谢任何帮助。
我的假设是除了使用 2 个 while 循环之外,应该有更好的编码方式。
PS:我检查了其他主题只是希望有人可以帮助我的代码谢谢。
【问题讨论】:
-
你的第二个循环在做什么?
sum = sum;看起来很可疑。 -
提示:你的条件应该是
t > 0 -
sum = 0; while (t) { sum += t % 10; t /= 10; }另外,如果不确定发生了什么,请使用调试器。此外,在for-cycle outside 打印出sum并没有真正的帮助。 -
您的问题是什么?如果您希望有人审查您的代码,请使用 CodeReview!
标签: c++ sum-of-digits