消糖灵胶囊里西药:求C语言程序解答????????

来源:百度文库 编辑:中科新闻网 时间:2024/05/03 05:54:35
编写函数int fun(int (*p)[N],int m,int *q),函数的功能是: 将M行N列的二维数组p中的数据, 按行的顺序依次存放到一维数组q中, 一维数组中数据的个数作为函数返回值带回. 例如, 下面程序运行时输出:
11 12 13 14
21 22 23 24
31 32 33 34
41 42 43 44 */
#define N 4
int fun(int (*p)[N],int m,int *q)
{
}
main()
{int a[5][N]={{11,12,13,14},{21,22,23,24},{31,32,33,34},{41,42,43,44},{51,52,53,54}},b[20]={0},i,len;
len=fun(a,4,b);
for(i=0;i<len;i++)
{printf("%4d",b[i]);
if(i%4==3)
printf("\n");
}
}

#define N 4
int fun(int (*p)[N],int m,int *q)
{int i=0,n,*s;
n=N*m;
s=(int *)p;
for(i=0;i<n;i++)
*(q+i)=*(s+i);
return n;

}
main()
{int a[5][N]={{11,12,13,14},{21,22,23,24},{31,32,33,34},{41,42,43,44},{51,52,53,54}},b[20]={0},i,len;
len=fun(a,5,b); /*里面那个整型参数应该是5*/
for(i=0;i<len;i++)
{printf("%4d",b[i]);
if(i%4==3)
printf("\n");
}
}

int fun(int(*p)[N],int m,int *q){
for (int i=0;i<m;i++)
for(int j=0;j<N;j++)
q[m][N]=p[m][N];
}