#include<stdio.h>
int main()
{void judge(int a[10][10],int m,int n);
int m,n;
printf("请输入矩阵的行数和列数:\n");
scanf("%d%d",&m,&n);
int a[m][n],i,j;
printf("enter the matrix:\n");
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
judge(a,m,n);
return 0;
}
void judge(int a[10][10],int m,int n)
{int max,min,i,j;
for(j=0;j<n;j++)
{max=a[0][j];min=a[0][j];
for(i=1;i<m;i++)
{if(max<a[i][j]) max=a[i][j];
if(min>a[i][j]) min=a[i][j];
}
printf("第%d列最大值和最小值的差是%d\n",j+1,max-min);
}
}
(c语言)编写一个函数,由实参传来一个矩阵 A[M][N],按列输出它每一列上最大值和最小值 的差
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- threenewbee 2019-04-27 00:29关注
我的VC++并不支持int a[m][n]这种写法,我知道你的GCC是支持的
所以我稍微修改了程序#include<stdio.h> #include<stdlib.h> int main() {void judge(int * a,int m,int n); int m,n; printf("请输入矩阵的行数和列数:\n"); scanf("%d%d",&m,&n); int * a,i,j; a = (int *)malloc(sizeof(int) * m * n); printf("enter the matrix:\n"); for(i=0;i<m;i++) for(j=0;j<n;j++) scanf("%d",&a[i*n+j]); judge(a,m,n); return 0; } void judge(int * a,int m,int n) {int max,min,i,j; for(j=0;j<m;j++) {max=a[j];min=a[j]; for(i=1;i<n;i++) {if(max<a[i*n+j]) max=a[i*n+j]; if(min>a[i*n+j]) min=a[i*n+j]; } printf("第%d列最大值和最小值的差是%d\n",j+1,max-min); } }
解决 2无用 1
悬赏问题
- ¥20 求一个html代码,有偿
- ¥100 关于使用MATLAB中copularnd函数的问题
- ¥20 在虚拟机的pycharm上
- ¥15 jupyterthemes 设置完毕后没有效果
- ¥15 matlab图像高斯低通滤波
- ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
- ¥15 钢筋实图交点识别,机器视觉代码
- ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
- ¥50 400g qsfp 光模块iphy方案
- ¥15 两块ADC0804用proteus仿真时,出现异常