19.編一函數fun(int[][N],int[]),tt指向一個(gè)M行N列的二維數組,求二維數組每列中最小元素,并依次放入pp所指一維數組中,二維數組中的數已在主函數中賦予
/*編一函數fun(int[][N],int[]),tt指向一個(gè)M行N列的二維數組,
*求二維數組每列中最小元素,并依次放入pp所指一維數組中,
*二維數組中的數已在主函數中賦予
*/
#include <stdio.h>
/*聲明常量M,N的值,分別代表行和列*/
#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;
/*同一列中循環(huán)*/
for(b=0;b<=N-1;b++)
{
/*同一行中循環(huán)*/
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;
}
}

聯(lián)系客服