2、首先输入一个大于2且小于10的整数m 和n,然后定义一个二维整形数组(mn),初始化该数组,将该数组中最大元素所在的行和最小元素所在行对调。
要求:
(1)mn数组元素的值由scanf函数从键盘输入(假定最大值和最小值不在同一行),然后输出该数组;
(2)查找最大值最小值所在行,将两行元素对调后输出新的数组;
(3)为直观起见,数组按照m行n列的方式输出;
(4)假设最大值最小最出现在同一行上,请修改程序。
Void main()(部分参考代码)
{int martix[9][9],min,max,temp;
int i,j,m,n,nMax=0,nMin=0;
printf(“please input m and n of martix:\n”);
scanf(......);
......}
首先输入一个大于2且小于10的整数m 和n,然后定义一个二维整形数组(m*n),初始化该数组,将该数组中最大元素所在的行和最小元素所在行对调。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 小6的跟班 2023-02-16 17:22关注
#include<stdio.h> int main() { int m, n, i, j, z, max, min, nmax; printf("请输入两个大于2且小于10的整数\n"); scanf_s("%d%d", &m, &n); z = m * n; printf("请输入%d个整数,注意最大值和最小值应该在同一行\n", z); int a[9][9]; for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { scanf_s("%d", &a[i][j]); } } printf("该数组为:\n"); for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { printf("%d\t", a[i][j]); } printf("\n"); } max = a[0][0]; for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { if (max <= a[i][j]) { max = a[i][j]; nmax = i + 1; } } } printf("最大值和最小值都在第%d行", nmax); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 chaquopy python 安卓
- ¥50 Kubernetes&Fission&Eleasticsearch
- ¥15 有没有帮写代码做实验仿真的
- ¥15 報錯:Person is not mapped,如何解決?
- ¥30 vmware exsi重置后登不上
- ¥15 易盾点选的cb参数怎么解啊
- ¥15 MATLAB运行显示错误,如何解决?
- ¥15 c++头文件不能识别CDialog
- ¥15 Excel发现不可读取的内容
- ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题