分享

编一函数fun(int[][N],int[]),tt指向一个M行N列的二维数组,求二维数组每列中最小元素,并依次放入pp所指一维数组中,二维数组中的数已在主函数中赋予

 BUPT-BYR 2010-12-08

 

19.编一函数fun(int[][N],int[])tt指向一个MN列的二维数组,求二维数组每列中最小元素,并依次放入pp所指一维数组中,二维数组中的数已在主函数中赋予

 

/*编一函数fun(int[][N],int[])tt指向一个MN列的二维数组,

 *求二维数组每列中最小元素,并依次放入pp所指一维数组中,

 *二维数组中的数已在主函数中赋予

 */

#include <stdio.h>

/*声明常量MN的值,分别代表行和列*/

#define M 3

#define N 4

/*声明函数fun求二维数组每列中最小元素*/

void fun(int[][N],int[]);

main()

{

       /*a,b控制行和列*/

       int tt[M][N]={22,45,56,30,19,33,45,38,20,22,66,40},pp[N],a,b;

       printf("the original data is:\n");

       /*打印原二维数组*/

       for(a=0;a<=M-1;a++)

       {

              for(b=0;b<=N-1;b++)

                     printf("%d\t",tt[a][b]);

              printf("\n");

       }

       /*应用函数求二维数组每列中最小元素*/

       fun(tt,pp);

       printf("the result is:\n");

       /*打印结果pp[b]*/

       for(b=0;b<=N-1;b++)

              printf("%d\t",pp[b]);

       printf("\n");

       return(0);

}

/*定义函数fun求二维数组每列中最小元素*/

void fun(int tt[][N],int pp[])

{

       /*a,b控制行和列,min存储每列最小元素*/

       int a,b,min;

       /*同一列中循环*/

       for(b=0;b<=N-1;b++)

       {

              /*同一行中循环*/

              for(a=0;a<=M-1;a++)

              {

                     if(a==0)

                            min=tt[a][b];

                     else

                            if(tt[a][b]<tt[a-1][b])

                                   min=tt[a][b];

              }

              /*将列最小值存于pp[b]*/

              pp[b]=min;

       }

}

运行效果如图:

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多