【问题标题】:Find average, maximum and minimum values of values entered查找输入值的平均值、最大值和最小值
【发布时间】:2015-10-17 13:21:12
【问题描述】:

问题的第一部分是编写一个程序:

提示用户输入整数值并保持运行总计。

#include<iostream>
using namespace std;

int main()
{
    int n, sum = 0;
    while(n != 0)
    {
        cout << "Enter number :";
        cin >> n;

        if(n <= 0)
            break;

        sum += n;
    }

第二部分是:

修改之前的程序,打印出读入的最大最小数以及平均值。同时更改提示以显示仍需输入的数字数量。

#include<iostream>
using namespace std;

int main()
{
    float n, sum=0.0, minimum=1.0, maximum=0.0, average;
    int i = 0, x;

    while(n != 0)
    {
        cout << "Enter number" << (i+1) << " :";
        cin >> n;

        if(n <= 0)
            break;

        sum += n;
        i++;

        if(n > maximum)
        {
            maximum = n;
        }

        if(n <= minimum)
        {
            minimum = n;
        }

        x = x + (i + 1);
    }

cout << "Total=" << sum << endl;

average = sum / x;

cout << "Average=" << average << endl;
cout << "Maximum=" << maximum << endl;
cout << "Minimum=" << minimum << endl;
return 0;
}

我的问题是我无法计算平均值并显示仍有待输入的数字数量。有人可以帮忙吗?

【问题讨论】:

  • 你听说过缩进吗?可能有助于使代码可读
  • 似乎正在解决与stackoverflow.com/questions/33186635/…类似的问题
  • “如何显示尚待输入的数字数量”是什么意思。编辑:对不起,我现在明白了。但是cout&lt;&lt;"Enter number"&lt;&lt;(i+1)&lt;&lt;" :"; 你有什么问题
  • (1)编写一个程序来读入一组数字并打印出它们的平均值。该程序将首先提示用户输入要读入的数字的数量,然后将提示输入各个数字,并提示输入数字 23,以向用户指示当前正在输入的数据项。在提示输入最后一个数字时做一些特别的事情。请注意,无需存储所有单独的数字,保持运行总计就足够了。
  • 2) 修改前面的程序,打印出读入的最大最小数以及平均值。还要更改提示以显示仍要输入的数字数量。这是问题的两个部分,也许您现在会更好地理解它。

标签: c++ average


【解决方案1】:

问题是您将总和除以 x。为什么需要这个 x? i 是您输入对象的计数,只需将总和除以 i;
还有一个错误,您定义了变量 n 并且没有设置值,并且您想将其与 0 进行比较。它可能工作不正确。

    #include<iostream>
    using namespace std;
    int main()
    {
        float n = 1,sum=0.0,minimum=1.0,maximum=0.0,average;
        int i=0;

        while(n!=0)
        {
            cout<<"Enter number"<<(i+1)<<" :";
            cin>>n;
            if(n<=0)
                break;
            sum+=n;
            i++;
            if(n>maximum)
            {
                maximum=n;
            }

            if(n<=minimum)
            {
                minimum=n;
            }
        }

        cout<<"Total="<<sum<<endl;

        average=sum/i;

        cout<<"Average="<<average<<endl;
        cout<<"Maximum="<<maximum<<endl;
        cout<<"Minimum="<<minimum<<endl;
        return 0;
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-16
    • 1970-01-01
    • 2016-12-29
    • 2018-07-07
    • 1970-01-01
    • 2014-06-11
    • 2016-01-05
    • 2021-01-15
    相关资源
    最近更新 更多