问答详情
源自:6-4 数组作为函数参数

该课程编程题求解

这个编程我不理解求解释。

提问者:勿忘SnowRain 2016-08-22 22:19

个回答

  • 我改名字了
    2016-08-23 18:14:58
    已采纳

    #include <stdio.h>

    void replaceMax(int arr[],int value)  //2)形参arr[]数组,  变量被赋值1

    {

        int max = arr[0];                 //3)变量max被复制arr[0]号位,即10

        int index = 0;                    //4)定义一个变量名赋初值0

        int i;                            //5)定义变量i

        for(i=1;i<5;i++)                  //6)循环4次,i=1.i=2.i=3.i=4

        {

            if(arr[i]>max)               //7)第一次循环arr[1]就是41是否大于10

            {

                max = arr[i];            //8)只有上判断成立的才能到这里max被比他大的值取代

                index = i;               //9)被取代的同时记录是几号位

            }                            //10)第四次循环结束max为数组最大的那个值.i为最大值的位置

        }  

        arr[index] = value;               //11)arr[最大值的位置]被赋值aee2[0]

    }


    int main()

    {

        int arr1[] = {10,41,3,12,22};

        int arr2[] = {1,2,3,4,5};

        int i;

        replaceMax(arr1 , arr2[0]);      //1)实参arr1数组,   实参0号位1

        for(i=0;i<5;i++)                 //12)打印输出5次分别是arr1的0号位至四号位

        {

            printf("%d ",arr1[i]);       //13)不明白看14)          

        }                                //14)你可以把 int arr1[] = {10,41,3,12,22};

        return 0;                        //看成是5个变量分别是

    }                                    //int 随意变量名1=10;

                                         //int 随意变量名2=41;

                                         //int 随意变量名3=3;

                                         //int 随意变量名4=12;

                                         //int 随意变量名5=22;

                                         //变量随意变量名2被改变了

                                        


  • Stealth
    2016-11-30 19:54:35

    厉害了我的大神

  • qq_海天隔一线_03859324
    2016-09-06 08:25:10

    谢谢。。

  • qq_墨白书香_03843100
    2016-08-29 17:12:20

    大神,受教了!