鱼C论坛

 找回密码
 立即注册
查看: 1456|回复: 1

[已解决]代码无错误,结果对不了

[复制链接]
发表于 2020-1-12 11:48:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>

int main()
{
        int a[6][6],b[1][1],c[1][1],d[1][1];
        int max,min,zjz;
        int i,n,m,x,y=0,X=0,Y=0,e=0,f=0;
        max = b[0][0],min=c[0][0],zjz=d[0][0];//zjz是中间值的意思
        printf("输入一个正整数");
        scanf_s("%d", &n);

        printf("输入二维数组");
        for ( i = 0; i < n; i++)
        {
                for ( m = 0; m < n; m++)
                {
                        scanf_s("%d", &a[i][m]);
                }
        }

        for ( i = 0; i < n; i++)
        {
                for ( m = 0; m < n; m++)
                {
                        if (a[i][m]>max)
                        {
                                max = a[i][m];
                                X = i;
                                Y = m;
                        }
                }
        }//查找数组的最大值

        for (i = 0; i < n; i++)
        {
                for (m = 0; m < n; m++)
                {
                        if (a[i][m] > min)
                        {
                                max = a[i][m];
                                x = i;
                                y = m;
                        }
                }
        }//查找数组的最小值



        a[e][f] = a[x][y];
        a[x][y] = a[X][Y];
          

        for ( i = 0; i < n; i++)
        {
                for ( m = 0; m <n; m++)
                {
                        printf("%d", a[i][m]);
                }
        }
}

3)        程序功能:输入一个正整数n(1≤n≤6)和n阶方阵A,交换方阵A中的最大值与最小值位置。假定方阵A中的最大值与最小值都唯一。

输入数组为1 2
                3 4
答案为4234
求大神解答
最佳答案
2020-1-12 15:03:51
  1. #include<stdio.h>

  2. int main()
  3. {
  4.         int c , d , k , n , m[36] , max , min                                ;
  5.         printf("输入一个正整数\n")                                           ;
  6.         scanf("%d" , & n)                                                    ;
  7.         printf("输入二维数组\n")                                             ;
  8.         for(k = 0 ; k < n * n ; k ++) scanf("%d" , & m[k])                   ;
  9.         for(k = 0 , c = 0 , d = 0 , max = m[c] , min = m[d] ; k < n * n ; k ++) {
  10.                 if(m[k] > max) {
  11.                         c = k                                                ;
  12.                         max = m[k]                                           ;
  13.                 } else if (m[k] < min) {
  14.                         d = k                                                ;
  15.                         min = m[k]                                           ;
  16.                 }
  17.         }
  18.         m[d] = max                                                           ;
  19.         m[c] = min                                                           ;
  20.         printf("\n")                                                         ;
  21.         printf("输出二维数组\n")                                             ;
  22.         for(k = 0 ; k < n * n ; k ++) {
  23.                 if(! (k % n)) {
  24.                         if(k) printf("\n")                                   ;
  25.                 } else {
  26.                         printf(" ")                                          ;
  27.                 }
  28.                 printf("%d" , m[k])                                          ;
  29.         }
  30. }
复制代码

        编译、运行实况:
  1. C:\Bin>cl x.c
  2. 用于 80x86 的 Microsoft (R) 32 位 C/C++ 优化编译器 16.00.30319.01 版
  3. 版权所有(C) Microsoft Corporation。保留所有权利。

  4. x.c
  5. Microsoft (R) Incremental Linker Version 10.00.30319.01
  6. Copyright (C) Microsoft Corporation.  All rights reserved.

  7. /out:x.exe
  8. x.obj

  9. C:\Bin>x
  10. 输入一个正整数
  11. 6
  12. 输入二维数组
  13. 1 2 3 4 5 6
  14. 7 8 9 10 11 12
  15. 13 14 15 16 17 18
  16. 19 20 21 22 23 24
  17. 25 26 27 28 29 30
  18. 31 32 33 34 35 36

  19. 输出二维数组
  20. 36 2 3 4 5 6
  21. 7 8 9 10 11 12
  22. 13 14 15 16 17 18
  23. 19 20 21 22 23 24
  24. 25 26 27 28 29 30
  25. 31 32 33 34 35 1
  26. C:\Bin>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-1-12 15:03:51 | 显示全部楼层    本楼为最佳答案   
  1. #include<stdio.h>

  2. int main()
  3. {
  4.         int c , d , k , n , m[36] , max , min                                ;
  5.         printf("输入一个正整数\n")                                           ;
  6.         scanf("%d" , & n)                                                    ;
  7.         printf("输入二维数组\n")                                             ;
  8.         for(k = 0 ; k < n * n ; k ++) scanf("%d" , & m[k])                   ;
  9.         for(k = 0 , c = 0 , d = 0 , max = m[c] , min = m[d] ; k < n * n ; k ++) {
  10.                 if(m[k] > max) {
  11.                         c = k                                                ;
  12.                         max = m[k]                                           ;
  13.                 } else if (m[k] < min) {
  14.                         d = k                                                ;
  15.                         min = m[k]                                           ;
  16.                 }
  17.         }
  18.         m[d] = max                                                           ;
  19.         m[c] = min                                                           ;
  20.         printf("\n")                                                         ;
  21.         printf("输出二维数组\n")                                             ;
  22.         for(k = 0 ; k < n * n ; k ++) {
  23.                 if(! (k % n)) {
  24.                         if(k) printf("\n")                                   ;
  25.                 } else {
  26.                         printf(" ")                                          ;
  27.                 }
  28.                 printf("%d" , m[k])                                          ;
  29.         }
  30. }
复制代码

        编译、运行实况:
  1. C:\Bin>cl x.c
  2. 用于 80x86 的 Microsoft (R) 32 位 C/C++ 优化编译器 16.00.30319.01 版
  3. 版权所有(C) Microsoft Corporation。保留所有权利。

  4. x.c
  5. Microsoft (R) Incremental Linker Version 10.00.30319.01
  6. Copyright (C) Microsoft Corporation.  All rights reserved.

  7. /out:x.exe
  8. x.obj

  9. C:\Bin>x
  10. 输入一个正整数
  11. 6
  12. 输入二维数组
  13. 1 2 3 4 5 6
  14. 7 8 9 10 11 12
  15. 13 14 15 16 17 18
  16. 19 20 21 22 23 24
  17. 25 26 27 28 29 30
  18. 31 32 33 34 35 36

  19. 输出二维数组
  20. 36 2 3 4 5 6
  21. 7 8 9 10 11 12
  22. 13 14 15 16 17 18
  23. 19 20 21 22 23 24
  24. 25 26 27 28 29 30
  25. 31 32 33 34 35 1
  26. C:\Bin>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-6 12:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表