lwjppz 2018-10-21 14:48 采纳率: 0%
浏览 345

这题不用函数怎么做?

要怎么找到最大值及最小值且找到他们的下标删除他们。在进行接下来的运算?
求代码

  • 写回答

2条回答 默认 最新

  • Italink 2018-10-21 15:10
    关注
    #include<stdio.h>
    int main(){
        int list[10] = { 1,3,5,4,2,0,8,9,6,7 };     //以十个空间的数组为例
        int length = 10;
        int max = list[0];        //从第一个数开始找最大值
        int max_index = 0;  //记录最大值的下标
        for (int i = 0; i < length; i++) {
            if (list[i] > max) {   //与最大值比较,大于就更新max
                max = list[i];
                max_index = i;
            }
        }
        //这不是链表,无法直接删除这个位置,只能把它后面的数据往前移动进行覆盖,数组长度减1
        for (int i = max_index; i < length - 1; i++)
            list[i] = list[i + 1];
        length--;
        for (int i = 0; i < length; i++)
            printf("%d ", list[i]);
        return 0;
    }
    
    
    评论

报告相同问题?