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

报告相同问题?

悬赏问题

  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启