m0_51191968
ida pro
2020-12-14 17:18
采纳率: 37.5%
浏览 23

C语言编写函数,将存储在grade中的n个学生的成绩的前两名成绩(包括相同的成绩)输出

C语言编写函数int* fun(int grade[], int n),其功能是将存储在grade中的n个学生的成绩的前两名成绩(包括相同的成绩)输出,函数返回此存储区的首地址

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • Betterc5
    IAmLinGe 2020-12-14 17:39
    int* fun(int grade[], int n) {
        if (!grade || n < 2) {
            return NULL;
        }
        int *res = (int*)malloc(2 * sizeof(int));
        res[0] = grade[0];
        res[1] = grade[1];
        
        for(int i=2; i<n; i++) {
            if (res[0] > grade[i] && res[1] > grade[i]) {
                continue;
            }
            if (res[0] < res[1]) {
                res[0] = grade[i];
            } else {
                res[1] = grade[i];
            }
        }
        
        return res;
    }

    注意释放内存以及返回的结果无序的

    点赞 评论

相关推荐