早教吧 育儿知识 作业答案 考试题库 百科 知识分享

编写自定义函数max(),求二维数组a中每行的最大值,并按一一对应的顺序放入一位数组s中。即:第0行中的最大值放入s[0]中,第一行中的最大值放入s[1]中,……,然后输出每行的行号和最大

题目详情
编写自定义函数max(),求二维数组a中每行的最大值,并按一一对应的顺序放入一位数组s中。即:第0行中的最大值放入s[0]中,第一行中的最大值放入s[1]中,……,然后输出每行的行号和最大值。(1) 以指向数组元素的指针实现(2) 以指向数组的指针实现(
▼优质解答
答案和解析
 #include<stdio.h>
 int max(int a[][3], int s[], int row)
 {
     int max = 0;
     int i,j;
     for(i = 0; i < row; i++)
     {
         max = *(*(a+i)+0);
         for(j = 1; j < 3; j++)
         {
             if(a[i][j] > max)
                 max = a[i][j];
          }
          s[i] = max;
     }           
}

main()
{
        int a[3][3] = {{23,34,45},{4,5,6},{45,56,8}};
        int s[3] = {0};
        max(a,s,3);
        int i = 0;
        for(i = 0; i < 3; i++)
        {
              printf("第%d行最大为:%d\n", i, s[i]);
              }

        system("pause");
}