小野366 2023-02-16 17:05 采纳率: 100%
浏览 27
已结题

首先输入一个大于2且小于10的整数m 和n,然后定义一个二维整形数组(m*n),初始化该数组,将该数组中最大元素所在的行和最小元素所在行对调。

2、首先输入一个大于2且小于10的整数m 和n,然后定义一个二维整形数组(mn),初始化该数组,将该数组中最大元素所在的行和最小元素所在行对调。
要求:
(1)m
n数组元素的值由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(......);
......}

  • 写回答

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;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月8日
  • 已采纳回答 2月28日
  • 创建了问题 2月16日

悬赏问题

  • ¥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同步传输问题