程序应该从提供的用户输入(初始值和最大值)生成数字,以生成在这些值范围内的数字列表。完成后,程序需要显示所有显示的数字之间的平均值。
#include <iostream>
int main(void)
{
unsigned int INITIAL_VALUE;
unsigned int MAX_VALUE;
std::cout << "\n\n\nStarting value: ";
std::cin >> INITIAL_VALUE;
std::cout << "\nValue to count to: ";
std::cin >> MAX_VALUE;
std::cout << "\n";
while(INITIAL_VALUE <= MAX_VALUE)
{
++INITIAL_VALUE;
std::cout << INITIAL_VALUE << ", ";
}
// Code to output the average goes here
std::cin.get();
std::cin.get();
}
我当然试图解决这个问题,但我甚至无法解释一下。我知道通过简单地将所有数字相加,然后除以数字的数量来找到平均值(平均值)的数字;但是,我想不出将这种简单的等式转换为C ++语法的方法。我将非常感谢您的全面解释,并感谢所有人提前。
答案 0 :(得分:0)
#include <iostream>
int main(void)
{
unsigned int INITIAL_VALUE;
unsigned int MAX_VALUE;
unsigned int sum = 0;
unsigned int count;
double average;
std::cout << "\n\n\nStarting value: ";
std::cin >> INITIAL_VALUE;
std::cout << "\nValue to count to: ";
std::cin >> MAX_VALUE;
std::cout << "\n";
count = MAX_VALUE - INITIAL_VALUE + 1;
while(INITIAL_VALUE <= MAX_VALUE)
{
sum += INITIAL_VALUE;
++INITIAL_VALUE;
std::cout << INITIAL_VALUE << ", ";
}
// Code to output the average goes here
average = 1.0 * sum / count;
std::cin.get();
std::cin.get();
}
答案 1 :(得分:0)
你做错了是你没有跟踪所有值的总和。然后你可以将它除以值的数量来得到平均值。所以while循环部分应该像
double sum = 0.0;
int n = MAX_VALUE - INITIAL_VALUE + 1;
while(INITIAL_VALUE <= MAX_VALUE)
{
sum += INITIAL_VALUE;
++INITIAL_VALUE;
std::cout << INITIAL_VALUE << ", ";
}
double average = sum/n;