#include <iostream>
using namespace std;
int main()
{
int a[3],b[3];
int sum,sum2;
int A_poeni = 0, S_poeni = 0;
int k,l;
for (int i=0; i<3; i++)
{
sum=0;
cin >> a[i] >> b[i];
k = a[i];
l = b[i];
//cout << "a[i]: " << a[i] << endl;
//cout << "b[i]: " << b[i] << endl;
//cout << "k: " << k << "l: " << l << endl;
while(k>0)
{
sum += k % 10;
k /= 10;
}
sum2=0;
while(l>0)
{
sum2 += l % 10;
l /= 10;
}
//cout << "sum: " << sum << endl;
//cout << "sum2: " << sum2 << endl;
if (a[i] % sum == 0)
{
cout << "Stefan: " << S_poeni << " " << "Ana: " << A_poeni << endl;
S_poeni += 2;
A_poeni -= 1;
}
else
{
continue;
}
if (b[i] % sum == 0)
{
cout << "Stefan: " << S_poeni << " " << "Ana: " << A_poeni << endl;
S_poeni -= 1;
A_poeni += 2;
}
else{
continue;
}
}
cout << S_poeni << " " << A_poeni << endl;
return 0;
}
我必须制作一个执行以下操作的程序:
输入数字x y(100 <= x,y <= 999)其中x是Stefan的数量,y是Ana的数量。你必须检查他们输入的数字,当你用数字之和除以0时,如果是,那么x / y得到2分,另一个得到-1分。如果数字不符合,则没有给予任何人的分数。
例如,如果数字是110,1 + 1 + 0 = 2,110%2 = 0,Stefan获得2分,Ana获得-1。如果数字是890,8 + 9 + 0 = 17,890%17! = 0没有人得分。
示例是:
101 114
133 360
113 243
输入和输出应该是:
-1 5
Ana
我的问题是for循环中的“if”语句被忽略了(仅限第一个循环)。我做了几次测试,但我找不到原因......
答案 0 :(得分:0)
感谢Zifre,错误是:
if (b[i] % sum == 0)
应该是
if (b[i] % sum2 == 0)