Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 确定最高和最低数字_C++_Function - Fatal编程技术网

C++ 确定最高和最低数字

C++ 确定最高和最低数字,c++,function,C++,Function,我很难创建一个void/reference函数来确定最大值和最小值。这些数字被提前输入并分配给四个独立的变量。数字的范围仅为0到100。我不能使用数组,它必须是一个函数。我的老师说他能完成6个条件句,而我有接近12个条件句 void GetGradesFromUser(double& grade1, double& grade2, double& grade3, double& grade4) { cout << "Enter four tes

我很难创建一个void/reference函数来确定最大值和最小值。这些数字被提前输入并分配给四个独立的变量。数字的范围仅为0到100。我不能使用数组,它必须是一个函数。我的老师说他能完成6个条件句,而我有接近12个条件句

void GetGradesFromUser(double& grade1, double& grade2, double& grade3, double& grade4)
{
    cout << "Enter four test grades: ";
    cin >> grade1 >> grade2 >> grade3 >> grade4;
}

double DetermineMaxAndMin(double& grade1, double& grade2, double& grade3, double& grade4)
{
    double max;
    double min;

    if (grade1 >= grade2 && grade1 >= grade3 && grade1 >= grade4)
    {
        max = grade1;
    }

    else if (grade2 >= grade1 && grade2 >= grade3 && grade2 >= grade4)
    {
        max = grade2;
    }

    else if (grade3 >= grade1 && grade3 >= grade2 && grade3 >= grade4)
    {
        max = grade3;
    }

    else max = grade4;

    if (grade1 <= grade2 && grade1 <= grade3 && grade1 <= grade4)
    {
        min = grade1;
    }

    else if (grade2 <= grade1 && grade2 <= grade3 && grade2 <= grade4)
    {
        min = grade2;
    }

    else if (grade3 <= grade1 && grade3 <= grade2 && grade3 <= grade4)
    {
        min = grade3;
    }

    else min = grade4;
}
void GetGradesFromUser(双倍和1级、双倍和2级、双倍和3级、双倍和4级)
{
课程>一级>>二级>>三级>>四级;
}
双测定平均值(双测定1级、双测定2级、双测定3级、双测定4级)
{
双峰;
双分钟;
如果(1级>=2级和1级>=3级和1级>=4级)
{
最高=1级;
}
否则,如果(2级>=1级和2级>=3级和2级>=4级)
{
最高=二级;
}
否则,如果(3级>=1级和3级>=2级和3级>=4级)
{
最高=3级;
}
else max=4级;

如果(1)P>如果不能使用数组和循环,并希望在不超过6个条件下实现结果,请考虑以下内容:

double DetermineMaxAndMin(double& grade1, double& grade2, double& grade3, double& grade4)
{
    double max = grade1;
    double min = grade1;

    //find max
    if (max < grade2) max = grade2;
    if (max < grade3) max = grade3;
    if (max < grade4) max = grade4;

    //find min
    if (min > grade2) min = grade2;
    if (min > grade3) min = grade3;
    if (min > grade4) min = grade4;
}
double DetermineMaxAndMin(双倍&一级、双倍&二级、双倍&三级、双倍&四级)
{
双倍最大值=1级;
双分=一级;
//找到max
如果(最大值<等级2)最大值=等级2;
如果(最大值<等级3)最大值=等级3;
如果(最大值<等级4)最大值=等级4;
//找敏
如果(最小值>等级2)最小值=等级2;
如果(最小值>等级3)最小值=等级3;
如果(最小值>等级4)最小值=等级4;
}

诀窍是假设您已经找到了最大/最小值,并在与新值进行比较时替换其值。

int a[101];int min=0;int max=0

最小值=a[0];最大值=a[0]

对于(inti=0;i<101;i++){if(min>a[i]){min=a[i];};if(max 所以如果你的数字是1234

最小值=1;最大值=1;每次迭代的最小值为1; 每次迭代的最大值为1 2 3 4

这是一个数组daaa的例子。但如果你足够聪明,你可以应用我的方法。你只需要调整我的代码并删除数组部分


另外,该代码包含2个条件,可以对任意数量的数字进行排序。它非常基本,您完全可以这样做。

在优化之前,尝试编译它?(注意警告),然后您只需要4个条件。