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条)

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题