#include<iostream>
main()
{
int limit,input;
int sum=0;
int i;
std::cout<<"Please Enter the limit: ";
std::cin>>limit;
for(i=0;i<limit;i++)
{
std::cout<<"Please Input values: ";
std::cin>>input;
sum+=input;
}
std::cout<<"The sum of the values is: "<<sum;
std::cout << std::endl;
std::cout<<"The average of the values is: "<<sum/1+i;
}
如果我想从用户输入的值中找到最大值和最小值,该怎么办?
答案 0 :(得分:4)
试试这个
int min_v = std::numeric_limits<int>::max();
int max_v = std::numeric_limits<int>::min();
for(i=0;i<limit;i++)
{
std::cout<<"Please Input values: ";
std::cin>>input;
sum+=input;
min_v = std::min(input, min_v);
max_v = std::max(input, max_v);
}
答案 1 :(得分:1)
有多种方式,
您可以将用户输入的所有值存储到std::vector<int>
。使用此向量查找元素总和,然后使用std::sort
对其进行排序,以获取最大值和最小值。简单!
vector<int> v(limits);
for(int i = 0; i<limits; i++)
{
int input;
cin >> input;
v.push_back(input);
}
int sum = 0;
for (vector<int>::iterator it = v.begin(); it != v.end(); ++it)
{
sum += *it;
}
cout << "sum = " << sum << endl;
sort(v.begin(), v.end());
cout << "Min = " << v[0] << endl;
cout << "Max = " << v[v.size() -1] << endl;
答案 2 :(得分:0)
通常,您需要执行以下操作:
Max
和Min
值。Min
,例如2147483647和Max
到一个非常小的值,例如-2147483648。input
与Min
进行比较,如果input
小于Min
,请更新Min
。与Max
相反。那就是它。
答案 3 :(得分:0)
请尝试以下代码。
int main()
{
int limit,input;
int sum=0;
int i;
std::cout<<"Please Enter the limit: ";
std::cin>>limit;
int min = 0;
int max = 0;
for(i=0;i<limit;i++)
{
std::cout<<"Please Input values: ";
std::cin>>input;
if(i == 0)
{
min = input;
max = input;
}
else
{
if(input < min)
min = input;
if(input > max)
max = input;
}
sum+=input;
}
std::cout<<"The sum of the values is: "<<sum<<std::endl;
std::cout<<"The average of the values is: "<<sum/(1+i)<<std::endl;
std::cout<<"Max: "<<max<<std::endl;
std::cout<<"Min: "<<min<<std::endl;
return 0;
}
答案 4 :(得分:0)
int max=0, min=0;
for(i=0;i<limit;i++)
{
std::cout<<"Please Input values: ";
std::cin>>input;
sum+=input;
if(i==0){
max=input;
min=input;
}
if(input>max)
max=input;
if(input<min)
min=input;
}
Now, you got the max and min value.