-1

私は大学の 1 年間をやっていて、特定の時点で非常に困難を抱えています....

米国とブラジルの人口を読み取るコードを作成する必要があります。米国の人口はブラジルよりも多いことがわかっています。

問題は、while ループの数を数える必要があることです。結局のところ、1 はあと 1 年を意味し、2 年古い場合は 2 などです。コードはここにあり、客観的です...

int pAmericana, pBrasileira, ano;


int main(int argc, const char * argv[])
{


@autoreleasepool {

    NSLog(@"What year is it?");
    scanf("%i", &Ano);
    NSLog(@"which the American people?");
    scanf("%i", &pAmericana);
    NSLog(@"which the Brazilian people?");
    scanf("%i", &pBrasileira);

    while (pAmericana >= pBrasileira) {

        pAmericana=(pAmericana*0.2)+pAmericana;
        pBrasileira=(pBrasileira*0.4)+pBrasileira;

    }
     //FAILURE TO KNOW HOW TO COUNT HOW OFTEN HAPPENS THE LOOP .....
}
return 0;
}
4

4 に答える 4

3

ループ内でカウンターを使用できます。

int i = 0;
while (pAmericana >= pBrasileira) {

    pAmericana=(pAmericana*0.2)+pAmericana;
    pBrasileira=(pBrasileira*0.4)+pBrasileira;
    i++;
}

NSLog(@"Loop count %i", i);
于 2013-03-15T14:39:08.533 に答える
1

whileループにカウント変数を追加すると機能します。ただし、forループを使用することもできます。

int i = 0;
for (; pAmericana >= pBrasileira; i++) {
    pAmericana=(pAmericana*0.2)+pAmericana;
    pBrasileira=(pBrasileira*0.4)+pBrasileira;
}

NSLog(@"Loop executed %d times", i);

ループの前に変数を宣言して、forループの後にその値を使用できるようにする必要があります。

注 - 計算を次のように変更できます。

int i = 0;
for (; pAmericana >= pBrasileira; i++) {
    pAmericana *= 1.2;
    pBrasileira *= 1.4;
}
于 2013-03-15T14:52:09.773 に答える
0

int i = 0whileの前、i++;whileループ内、ループのNSLog(@"Loops: %d", i);後。

于 2013-03-15T14:39:54.243 に答える
0

次のように、ループの外側で整数変数を宣言し、whileループ内でそれをインクリメントできます。

int i = 0; // Initialise the counter

while (pAmericana >= pBrasileira) {
  ...
  i++; // Increment the counter
}
于 2013-03-15T14:41:15.113 に答える