我正在上大学一年,并且在特定时刻遇到很多困难......
我需要制作一个能够读取美国和巴西人口的代码,因为他们知道美国人口比巴西人口高。
问题是我需要计算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;
}
答案 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
}