【发布时间】:2016-03-03 19:43:26
【问题描述】:
我想知道如何通过用户输入值在 c++ 中找到最大值和最小值,并且用户还设置了 for 循环的限制,例如:
编写一个 C++ 程序,该程序最初从用户那里获取一个整数值作为循环的限制。这意味着循环将执行与用户输入相同的时间。然后循环将整数值作为用户的输入,直到达到循环限制。 您只需要使用一个变量,该变量将用于在循环内重复从用户那里获取输入。这意味着您不允许为此目的使用数组或多个变量。之后,您的程序将计算输入值的总和、它们的平均值、最小值和最大值以及输入这些值的位置。
我写了,但一直停留在最大值和最小值上……这里是
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <string>
using namespace std;
int main(){
int value;
int ivalue;
int sum=0;
int average;
int x,y;
cout << "Enter loop limit : "; cin >> value ;
cout<<endl;
cout<<endl;
for( x=0;x<=value-1;x++){
cout << "Enter "<<x+1<<" value : "; cin >> ivalue;
sum=sum+ivalue;
}
cout<<endl;
cout<<endl;
cout << "Sum of entered values : " <<sum <<endl;
cout << "Average of entered values : "<< sum/value<<endl;
}
【问题讨论】:
-
将输入与您当前的最大值进行比较,如果更大,则将其用作新的最大值。
-
如果你有
int maximum来保存最大值,那么你可以在你的for循环中使用maximum = x ? std::max(maximum, ivalue) : ivalue;。注意三元条件的使用。请注意,如果value为零,maximum将保持未初始化状态:不要在该实例中读回它。 -
这意味着你不能使用数组或多个变量来达到这个目的。 -- 哪个目的?是否允许像下面发布的解决方案一样具有最小值和最大值两个变量?