我必须编写程序,当终止无限循环“while(cin>> a)”之后,让我们说“-1”,程序告诉我增加了多少次值。输入“0 0 2 2 3 4 8 8 8 -1”时,应打印“4”。第一部分不是问题,但我不知道如何计算它随时间变化的次数。有小费吗?非常感谢。
答案 0 :(得分:0)
你应该使用计数器,每次你的值增加时,计数器基本上会增加。检查下面的代码:
int value, highestValue, counter = 0, counter2 = 0;
do{
cout << "Enter the value: ";
cin >> value;
if(counter2 == 0){
highestValue = value;
}
if(value > highestValue){
counter++;
highestValue = value;
}
counter2++;
}while(value != -1);
cout << "The number increased " << counter << " times!\n";
第一个if语句中需要第二个计数器(counter2)来存储您输入的第一个值作为最高值。
答案 1 :(得分:-1)
int p = -1, k, a, b;
while( cin >> a ) //infinite loop
{
if ( k != a )
p++;
b = a - k;
if(a=-1)
exit(0);
k = a;
}
cout << "value increased by" << b;
cout << "number of times it has changed over time = " << p;