AlanshaoTT 2021-04-27 22:07 采纳率: 60%
浏览 56
已采纳

求数组最大值结果不对,输出很奇怪,求大佬解答

#include <iostream>
using namespace std;

int getmax(int arr[])
{
    int i = 0;
    int max = 0;
    max = arr[0];
    for (i = 0; i < 16; i++) {
        max = (max > arr[i]) ? max : arr[i];
    }
    return arr[i];
}
int getmin(int arr[])
{
    int i = 0;
    int j = 0;
    for (i = 0; i < 16; ++i) {
        if (arr[i] < arr[j])
        {
            arr[j] = arr[i];
        }
    }
    return arr[j];
}
int main() {
    int n = 0;
    int scores[] = { 16,15,85,89,79,78,99,100,85,97,87 };
    n = sizeof(scores) / sizeof(int);
    cout << "学生数:" << n << endl;
    cout << "最高分是:" << getmax(scores) << endl;

    cout << "最低分是:" << getmin(scores) << endl;

    return 0;

  • 写回答

5条回答 默认 最新

  • CSDN专家-Time 2021-04-27 22:10
    关注
    #include <iostream>
    using namespace std;
    
    int getmax(int arr[])
    {
        int i = 0;
        int max = 0;
        max = arr[0];
        for (i = 0; i < 11; i++) {
            max = (max > arr[i]) ? max : arr[i];
        }
        return max;
    }
    int getmin(int arr[])
    {
        int i = 0;
        int min = 0;
        min = arr[0];
        for (i = 0; i < 11; i++) {
            min = (min < arr[i]) ? min : arr[i];
        }
        return min;
    }
    int main() {
        int n = 0;
        int scores[] = { 16,15,85,89,79,78,99,100,85,97,87 };
        n = sizeof(scores) / sizeof(int);
        cout << "学生数:" << n << endl;
        cout << "最高分是:" << getmax(scores) << endl;
    
        cout << "最低分是:" << getmin(scores) << endl;
    
        return 0;
    }

    我来看看,数组不能越界。还有你求最小也不对。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?