试图在我的数组中找到最小的数字,对最高数字使用相同的行

Trying to find the lowest number in my array, used the same line for highest number

本文关键字:数字 高数字 数组 我的      更新时间:2023-10-16

基本上我试图做的是获取最低的数字,但是程序正在反馈我垃圾,但我使用相同的代码行来获取最高值,我所做的更改只是>到<,程序给我最高的值没有问题放不是最低的。我已经尝试了我能想到的一切,从最低= x[0],最低= 101(用户假设以0-100的等级输入等级,认为它与值有关。 (和最低=最高,它仍然给我一个数字,如-9.255596e....,任何帮助或建议或非常感谢, 或者也许是朝着正确方向的一点,只是真正试图理解为什么它适用于一组数字而不是其他数字。

 #include "stdafx.h"
 #include <iostream>
 using std::cout;
 using std::endl;
 using std::cin;
 double average(double,int);
 double sum1(double[],int);
 double highest(double[], int);
 double lowest(double[], int);
 int _tmain(int argc, _TCHAR* argv[])
{
    double gradeBook[1000];
    char x;
    int count = 0;
    cout << "Do you wish to start the program if so enter y to stop enter q" << endl;
    cin >> x;
    while (x != 'q')
    {
        cout << "Enter in test grade on a scale of 0 to 100" << endl;
        cin >> gradeBook[count];
        if (gradeBook[count]<0 || gradeBook[count]>100)
        {
            cout << " Please try again ";
            count--;
        }
        else
            cout << "valid answer" << endl;
        count++;
         cout << "Do you wish to continue entering in grades? If so enter y to      stop enter q" << endl;
        cin >> x;
     }
         highest(gradeBook, count);
     cout << "The highest grade enter is " << highest(gradeBook, count) << endl;
     lowest(gradeBook, count);
     cout << "The lowest grade enter is " << lowest(gradeBook, count) << endl;
    cout << lowest <<endl;

    return 0;
}

    double highest(double x[], int y)
    {
     double highest = 0;
    for (int i = 0; i<= y; i++)
    {
    if (x[i]>highest)
    highest = x[i];
    }
    return highest;
    }
    double lowest(double x[], int y)
    {
    double lowest = 100;
    for (int i = 0; i<= y; i++)
    {
        if (x[i]< lowest)
            lowest = x[i];
    }
    return lowest;
}

解决问题的一种方法是使用已经测试过的代码。在您的情况下,您可以使用 min_element 和 max_element 来查找代码的最小和最大元素:

    cout << "The highest grade enter is " << *max_element(gradeBook, 
gradeBook+count) << endl;