我目前正在做一项任务,我对如何去做有点迷失。
以下是有关作业的信息:
计算一组数字的最大值,最小值,计数,平均值和标准偏差(标准偏差)。
平均公式为: 平均值是总和除以计数
标准差的公式是: stddev是方差的平方根
方差公式为: 方差是(平方和除以计数)减去平均值的平方。
通过平方和,我的意思是列表如:2 3 4,正方形是4,9,16,因此正方形的总和将是29。
当提示“输入另一个?”时,键入n退出提示并计算输出值。键入y或任何其他单个字符以继续输入值。
这是解决方案的截图/示例运行:http://i.imgur.com/OAHwMHs.png
这是我到目前为止所拥有的
#include <iostream>
using namespace std;
double k;
char another;
int main()
{
cout <<"\nEnter a number:";
cin >> k;
cout <<"\nEnter another?";
cin >> another;
if(another=="y")
double max,min,sum,average,standard,variance,count;
sum = k +
average = sum / count;
variance =
cout <<"\nMax Value:"<< max;
cout <<"\nMin Value:"<< min;
cout <<"\nCount:" << count;
cout <<"\nAverage:" << average;
cout <<"\nStd Dev:"<< variance;
return 0;
}`
如果用户输入Y,我怎么能这样做呢?他可以输入另一个号码,如分配所说的那样?并且n留下提示并计算
我如何制作它以显示最小/最大值的最低和最高值?
如何获取为计数输入的值的数量?
谢谢你们!
答案 0 :(得分:1)
如果用户输入Y,我该怎么做呢,他可以输入另一个号码,如作业所说的那样?并且n留下提示并计算
你可以把程序放到while循环中,如果用户输入n
,它就会脱离循环。
bool inputting_Numbers = true;
while (inputting_Numbers) {
// get data
cin >> another;
if (another == 'n')
inputting_Numbers = false;
}
// calculations
或者,为了让它变得更好,不要询问用户是否要输入其他数字,而是让它仅在特定字符上中断,例如s
停止或b
断裂。
bool inputting_Numbers = true;
while (inputting_Numbers) {
// get data
cin >> another;
if (another == 'b' || another == 's')
inputting_Numbers = false;
}
//calculations
您还必须将数字放入数组或向量中。如果你有一组数字,一个变量是不够的。由于您使用的是C ++,我建议使用向量。
如何制作它以显示最小/最大值的最低和最高值?
您可以创建一个函数来查找数组或向量的最小和最大数字。然后把它打印出来。
如何获取为计数输入的值的数量?
如果您使用的是矢量,则可以执行
vectorName.size();
获取数字量。如果您正在使用数组,则可以通过
获取数字量int amount = sizeof(arrayName) / sizeof(int);
答案 1 :(得分:1)
您希望while循环分别处理每个数字,然后在用户完成后处理总计。您的算法是:
ul {
/* Use flex boxes to align li items */
display: flex;
justify-content: space-around;
/* Remove default padding from major browsers */
padding: 0;
/* Hide the default decorations for li items */
list-style: none;
}
ul > li {
/* Display the elements in one line */
display: inline-block;
}