C++ c++;函数,用于查找传入的n个数字的平均值、总和、最小值和最大值

C++ c++;函数,用于查找传入的n个数字的平均值、总和、最小值和最大值,c++,C++,下午好,我被要求制作一个名为void printStatistics(int n)的函数,它应该打印传入它的n个数字的平均数、总和、最小数和最大数。例如,如果我打印了统计数据(5),那么我应该要求用户输入一个数字5次,然后打印统计数据。 我所能做的就是创建一个while循环,要求用户输入一个数字,直到输入一个负数,但我似乎在将它转换为一个函数时遇到了一些问题,该函数要求用户输入n次数字,然后打印出总和、平均值、最小值和最大值。这就是我所拥有的 int main() { int value

下午好,我被要求制作一个名为void printStatistics(int n)的函数,它应该打印传入它的n个数字的平均数、总和、最小数和最大数。例如,如果我打印了统计数据(5),那么我应该要求用户输入一个数字5次,然后打印统计数据。 我所能做的就是创建一个while循环,要求用户输入一个数字,直到输入一个负数,但我似乎在将它转换为一个函数时遇到了一些问题,该函数要求用户输入n次数字,然后打印出总和、平均值、最小值和最大值。这就是我所拥有的

int main()
{
    int value, sum;
    int average, min, max;
    int count;

    sum = 0;
    count = 0;

    cout << "Enter a number: " << endl;
    cin >> value;

    min = value;
    max = value;

    while(value >= 0)
    {
        sum += value;
        count++;
        if(value > max)
            max = value;
        else if(value < min)
            min = value;

        cout << "Enter a numnber: " << endl;
        cin >> value;
    }
    if(count == 0)
        cout << "Nothing entered." << endl;
    else
    {
        average = sum / count;
        cout << "Average is " << average << endl;
        cout << "Minimum is " << min << endl;
        cout << "Maximum is " << max << endl;
        cout << "Sum is " << sum << endl;
    }
}
intmain()
{
int值,总和;
整数平均值,最小值,最大值;
整数计数;
总和=0;
计数=0;
库特值;
最小值=数值;
最大值=最大值;
而(值>=0)
{
总和+=数值;
计数++;
如果(值>最大值)
最大值=最大值;
否则如果(值<最小值)
最小值=数值;
库特值;
}
如果(计数=0)

从我对你的问题的理解来看,你希望有一个函数(printStatistics)这将采用参数“int n”,其中“n”对应于用户希望输入的数字量。然后,您询问这些特定数字,然后找到该集合的最小值、最大值、总和和平均值。如果我理解正确,则这将实现以下目的:

#include <iostream>

void printStatistics(int n);


void printStatistics(int n)
{
    int response;
    int sum = 0;
    int max;
    int min;

    for (int i = 1; i <= n; ++i)
    {
        std::cout << "Please enter the number in the " << i << " position: ";
        std::cin >> response;
        if (i == 1)
        {
            min = response;
            max = response;
        }
        (min > response) ? min = response : min = min;
        (max < response) ? max = response : max = max;
        sum += response;
    }
    std::cout << "Sum: " << sum << std::endl;
    std::cout << "Average: " << (float)sum / n << std::endl;
    std::cout << "Min: " << min << std::endl;
    std::cout << "Max: " << max << std::endl;
}


int main()
{
    int numberCount;
    do
    {
        std::cout << "How many numbers would you like to print? ";
        std::cin >> numberCount;
    }while(numberCount <= 0);
    printStatistics(numberCount);   
}
#包括
无效打印统计(int n);
无效打印统计(int n)
{
int响应;
整数和=0;
int max;
int-min;

对于(inti=1;i,根据我从您的问题中了解的情况,您希望有一个函数(printStatistics)这将采用参数“int n”,其中“n”对应于用户希望输入的数字量。然后,您询问这些特定数字,然后找到该集合的最小值、最大值、总和和平均值。如果我理解正确,则这将实现以下目的:

#include <iostream>

void printStatistics(int n);


void printStatistics(int n)
{
    int response;
    int sum = 0;
    int max;
    int min;

    for (int i = 1; i <= n; ++i)
    {
        std::cout << "Please enter the number in the " << i << " position: ";
        std::cin >> response;
        if (i == 1)
        {
            min = response;
            max = response;
        }
        (min > response) ? min = response : min = min;
        (max < response) ? max = response : max = max;
        sum += response;
    }
    std::cout << "Sum: " << sum << std::endl;
    std::cout << "Average: " << (float)sum / n << std::endl;
    std::cout << "Min: " << min << std::endl;
    std::cout << "Max: " << max << std::endl;
}


int main()
{
    int numberCount;
    do
    {
        std::cout << "How many numbers would you like to print? ";
        std::cin >> numberCount;
    }while(numberCount <= 0);
    printStatistics(numberCount);   
}
#包括
无效打印统计(int n);
无效打印统计(int n)
{
int响应;
整数和=0;
int max;
int-min;

对于(int i=1;i Hi here!欢迎使用Stack Overflow。如果您正在寻求有关查找错误的帮助,我建议添加include语句来完成代码,并提供一个可运行的示例、输入示例、结果输出和预期输出。现在,您没有达到对a的要求。注意:您似乎正在使用value
。这将覆盖您需要的计数器,以便知道何时停止收集输入。您忘记了计算
平均值
,忘记了
求和
中的第一个值。
min
max
的初始化来自
value
是一个错误。
min
应该是t用户可以输入的最高可能值,以便用户证明它将低于或等于的任何值。同样地,
max
应为最低值,以便输入将更高或相等。当前,如果给出的所有值都超过了
min
的初始值,则min不会改变,并且会报告错误的值。此外,没有请注意,
average
被声明为整数,这可能不是您想要的。您好!欢迎使用Stack Overflow。如果您正在寻求查找bug的帮助,我建议添加include语句来完成代码,并提供一个可运行的示例、输入示例、结果输出和预期输出。现在您需要注意:您似乎对所有输入都使用了
。这覆盖了您需要的计数器,以便知道何时停止收集输入。您忘记了计算
平均值
,忘记了
求和
中的第一个值。
min
m的初始化ax
from
value
是一个错误。
min
应该是用户可以输入的最高值,以便用户证明它将低于或等于任何值。同样地,
max
应该是最低值,以便输入将更高或相等。当前,如果所有给定的值都超过
m的初始值在
中,min不会更改,并且会报告错误的值。还要注意,
average
被声明为整数,这可能不是您想要的。@user4581301哦,是的,那会更好!很好,允许我编辑我的代码。值得考虑@Samantha对这个问题的评论。@user4581301哦,是的,那会更好e好多了!很好,请允许我编辑我的代码。值得考虑@Samantha对这个问题的评论。