【发布时间】:2015-12-24 12:48:55
【问题描述】:
背景
编写一个 C++ 程序,接受用户输入的一组数字,并输出最大值、最小值、平均值、中位数和众数。我们知道模式可以有多个,因此请编写代码,以便在必要时输出多种模式。
示例输入
输入整数,完成后输入字母。
-2 3 3 5 6 4 4 8 9 9 9 1 -2 10 10 10
样本输出
Your numbers are: -2 -2 1 3 3 4 4 5 6 8 9 9 9 10 10 10
Max: 10
Min: -2
Average: 5.4375
Median: 5.5
Mode: 9 10 (3)
我的代码
#include <iostream>
using namespace std;
void main()
{
double value, sum;
double average, minimum, maximum;
int count;
// initialise
sum = 0.0;
count = 0;
cout << "Enter a value: ";
cin >> value;
minimum = value;
maximum = value;
while (value >= 0.0)
{
// process value
sum += value;
count++;
if (value > maximum)
maximum = value;
else if (value < minimum)
minimum = value;
// get next value
cout << "Enter a value: ";
cin >> value;
}
if (count == 0)
cout << "No data entry" << endl;
else
{
average = sum / count;
cout << "There were " << count << " numbers" << endl;
cout << "Average was " << average << endl;
cout << "Minimum was " << minimum << endl;
cout << "Maximum was " << maximum << endl;
}
}
【问题讨论】:
-
你有没有尝试过或让我们做你的功课?
-
我已经尝试过了,这是我目前的代码,它不会让我粘贴它,因为它太长了
-
您需要做的不仅仅是将您的代码包含在您的帖子中。你需要说的不仅仅是你的任务是什么。比如你到底遇到了什么问题,编译器或链接器错误,如果程序运行你得到什么输出以及为什么出错。
-
不知道如何计算中位数和众数
-
while (value >= 0.0)不允许您输入负数。