0
#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;
}

次のことを行うプログラムを作成する必要があります。

数値 xy (100 <=x , y<= 999) を入力します。x は Stefan の番号、y は Ana の番号です。彼らが入力した数字が数字の合計で割ったときに0になるかどうかを確認する必要があります。そうであれば、x / yは2ポイントになり、他のプレーヤーは-1ポイントになります。数がそれを満たしていない場合、誰にもポイントが付与/取得されません。

例 数値が 110 の場合、1+1+0 = 2、110%2 = 0、ステファンは 2 ポイント、アナは -1 を取得します。数値が 890 の場合、8+9+0 = 17、890%17!=0 no 1 つはポイントを取得します。

例は次のとおりです。

101 114
133 360
113 243

入力と出力は次のようになります。

-1 5
Ana

私の問題は、 for ループ内の「if」ステートメントが何らかの形で無視されていることです(最初のサイクルのみ)。いろいろ調べたのですが原因がわかりません...

4

1 に答える 1