第10周 C语言及程序设计提高例程-36 多维数组作函数参数

原创 2016年06月01日 17:24:50

问题及代码:

/*用多维数组名作函数参数*/

#include <stdio.h>  
int max_value(int array[][4]);
int main()
{
   int a[3][4]={{11,32,45,67},{22,44,66,88},{15,72,43,37}};  
   printf("max value is %d\n",max_value(a));
   return 0;
}
int max_value(int array[][4])
{
   int i,j,max;
   max=array[0][0];
   for(i=0;i<3;i++)
     for(j=0;j<4;j++)
       if(array[i][j]>max)
           max=array[i][j];
    return max;
}
      

/*工程中更普遍的做法:行数作为形参*/

#include <stdio.h>  
int max_value(int array[][4],int);
int main()
{
  int a[3][4]={{11,32,45,67},{22,44,66,88},{15,72,43,37}};  
  printf("max value is %d\n",max_value(a,3));
  return 0;
}
int max_value(int array[][4],int n)
{
   int i,j,max;
   max=array[0][0];
   for(i=0;i<n;i++)
     for(j=0;j<4;j++)
        if(array[i][j]>max)
          max=array[i][j];
   return max;
}


/*例:3个学生4门课,计算总平均分,并输出第n个学生成绩*/

#include<stdio.h>
void average(int *p,int n);
void search(int (*p)[4], int n);
int main()
{
  int score[3][4]={{65,85,87,58},{56,54,85,96},{48,69,78,98}};
  average(*score,12);
  search(score,2);    //单词拼写少了一个a,导致出错,为什么这里后面是整数2?
  return 0;
}

void average(int *p,int n)
{
  int *p_end,sum=0,aver;
  p_end=p+n-1;
  for(;p<=p_end;p++)
     sum=sum+(*p);
  aver=sum/n;
  printf("average=%4d\n",aver);
}

void search(int (*p)[4],int n)
{
   int i;
   printf("No.%d :",n);
   for(i=0;i<4;i++) 
      printf("%4d",*(*(p+n)+i));  //不小心这里少了一个小括号
   printf("\n");
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

C语言及程序设计提高例程-36 多维数组作函数参数

贺老师教学链接  C语言及程序设计提高 本课讲解用多维数组名作函数参数#include int max_value(int array[][4]); int main( ) { in...
  • sxhelijian
  • sxhelijian
  • 2015年02月11日 08:33
  • 1536

C语言及程序设计提高例程-25 指针作函数参数

贺老师教学链接  C语言及程序设计提高 本课讲解例:冒泡排序函数的新写法#include void bubblesort(int*, int); int main( ) { int i,a[10...
  • sxhelijian
  • sxhelijian
  • 2015年02月10日 21:28
  • 1392

C语言及程序设计提高例程-24 数组名作为函数参数

贺老师教学链接  C语言及程序设计提高 本课讲解用数组元素作函数实参#include int gcd(int m,int n) { int r; while(r=m%n) {...
  • sxhelijian
  • sxhelijian
  • 2015年02月10日 21:27
  • 1291

第7周 C语言及程序设计提高例程-25 指针作函数参数

例:冒泡排序函数的新写法 问题及答案: #include void bubblesort(int*,int); //编写时分号遗漏 int main() { int a[10]={25,4...
  • Emperor_21AD_ShiDi
  • Emperor_21AD_ShiDi
  • 2016年05月10日 07:34
  • 638

程序设计与算法 第十周测验

程序设计与算法 第十周测验
  • xiewen99
  • xiewen99
  • 2016年10月24日 17:31
  • 339

C语言及程序设计进阶例程-36 文件的随机读写

贺老师教学链接 C语言及程序设计进阶 本课讲解示例:写到尾再从头读#include #includeint main() { int a[10], b[10], i; FILE *i...
  • sxhelijian
  • sxhelijian
  • 2015年06月29日 21:12
  • 1394

第10周 C语言及程序设计提高例程-38 main函数的参数

1、问题及代码: /*查看命令行提供的参数*/ #include int main(int argc,char *argv[]) { int count; printf("The co...
  • Emperor_21AD_ShiDi
  • Emperor_21AD_ShiDi
  • 2016年06月02日 15:09
  • 262

第10周 C语言及程序设计提高例程-35 使用指针操作二维数组

问题及代码: /*使用指向二维数组元素的指针*/ #include int main() { int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; i...
  • Emperor_21AD_ShiDi
  • Emperor_21AD_ShiDi
  • 2016年06月01日 10:51
  • 473

第10周 C语言及程序设计提高例程-40 小小型应用系统开发指导(四)

问题及代码: //--------------------- // bank.cpp(银行功能系统) //--------------------- #include #include #incl...
  • Emperor_21AD_ShiDi
  • Emperor_21AD_ShiDi
  • 2016年06月04日 16:14
  • 473

第6周 C语言及程序设计提高例程-24 数组名作为函数参数

1、用数组元素做函数实参。 问题及代码: #include int gcd(int m,int n) { int r; while(r=m%n) { m=...
  • Emperor_21AD_ShiDi
  • Emperor_21AD_ShiDi
  • 2016年05月02日 22:49
  • 271
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第10周 C语言及程序设计提高例程-36 多维数组作函数参数
举报原因:
原因补充:

(最多只允许输入30个字)