我对一个非常令人沮丧的问题感到难过。尝试编写输入整数的提示,并输出1和输入数字之间的整数之和,同时在总和中排除3的倍数。非常感谢任何帮助!
这是我目前的代码:
int v;
int q;
int sum = 0;
cout << "Enter an integer: ";
cin >> v;
for (q = 1; q < v; q++) {
if (v % 3 == 0)
continue;
else
sum = sum + v;
}
cout << "The sum of integers: "<< sum << endl << endl;
答案 0 :(得分:2)
我认为你的循环应该是
for ( q = 1; q < v; q++ )
if ( q % 3 != 0 )
sum += q;
答案 1 :(得分:2)
问题是您要将v
添加到sum,而不是for循环中增加的数字q
:
for (q = 1; q < v; q++) {
sum += (q%3 == 0 ? 0 : q);
}
此外,您可以在一行中定义所有整数,如下所示:
int v, q, sum=0;
此外,无论是否有意,q
的值永远不会添加到总和中。要修复,请将for循环中的表达式更改为:
q <= v;