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 Centos7 / PETGEM
- ¥15 csmar数据进行spss描述性统计分析
- ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
- ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
- ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
- ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗
- ¥15 运动想象脑电信号数据集.vhdr
- ¥15 三因素重复测量数据R语句编写,不存在交互作用
- ¥15 微信会员卡等级和折扣规则
- ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗