如何计算重复次数呢?

时间:2013-03-15 14:36:13

标签: objective-c loops count while-loop numbers

我正在上大学一年,并且在特定时刻遇到很多困难......

我需要制作一个能够读取美国和巴西人口的代码,因为他们知道美国人口比巴西人口高。

问题是我需要计算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 个答案:

答案 0 :(得分:3)

你可以在循环中使用一个计数器:

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

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

NSLog(@"Loop count %i", i);

答案 1 :(得分: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;
}

答案 2 :(得分:0)

之前的

int i = 0,while循环中的i++;,循环后的NSLog(@"Loops: %d", i);

答案 3 :(得分:0)

你可以在while循环之外声明一个整数变量,然后在循环中递增它,如下所示:

int i = 0; // Initialise the counter

while (pAmericana >= pBrasileira) {
  ...
  i++; // Increment the counter
}