鱼C论坛

 找回密码
 立即注册
查看: 1079|回复: 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
#include<stdio.h>

int main()
{
        int c , d , k , n , m[36] , max , min                                ;
        printf("输入一个正整数\n")                                           ;
        scanf("%d" , & n)                                                    ;
        printf("输入二维数组\n")                                             ;
        for(k = 0 ; k < n * n ; k ++) scanf("%d" , & m[k])                   ;
        for(k = 0 , c = 0 , d = 0 , max = m[c] , min = m[d] ; k < n * n ; k ++) {
                if(m[k] > max) {
                        c = k                                                ;
                        max = m[k]                                           ;
                } else if (m[k] < min) {
                        d = k                                                ;
                        min = m[k]                                           ;
                }
        }
        m[d] = max                                                           ;
        m[c] = min                                                           ;
        printf("\n")                                                         ;
        printf("输出二维数组\n")                                             ;
        for(k = 0 ; k < n * n ; k ++) {
                if(! (k % n)) { 
                        if(k) printf("\n")                                   ;
                } else {
                        printf(" ")                                          ;
                }
                printf("%d" , m[k])                                          ;
        }
}
        编译、运行实况:
C:\Bin>cl x.c
用于 80x86 的 Microsoft (R) 32 位 C/C++ 优化编译器 16.00.30319.01 版
版权所有(C) Microsoft Corporation。保留所有权利。

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

/out:x.exe
x.obj

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

输出二维数组
36 2 3 4 5 6
7 8 9 10 11 12
13 14 15 16 17 18
19 20 21 22 23 24
25 26 27 28 29 30
31 32 33 34 35 1
C:\Bin>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

int main()
{
        int c , d , k , n , m[36] , max , min                                ;
        printf("输入一个正整数\n")                                           ;
        scanf("%d" , & n)                                                    ;
        printf("输入二维数组\n")                                             ;
        for(k = 0 ; k < n * n ; k ++) scanf("%d" , & m[k])                   ;
        for(k = 0 , c = 0 , d = 0 , max = m[c] , min = m[d] ; k < n * n ; k ++) {
                if(m[k] > max) {
                        c = k                                                ;
                        max = m[k]                                           ;
                } else if (m[k] < min) {
                        d = k                                                ;
                        min = m[k]                                           ;
                }
        }
        m[d] = max                                                           ;
        m[c] = min                                                           ;
        printf("\n")                                                         ;
        printf("输出二维数组\n")                                             ;
        for(k = 0 ; k < n * n ; k ++) {
                if(! (k % n)) { 
                        if(k) printf("\n")                                   ;
                } else {
                        printf(" ")                                          ;
                }
                printf("%d" , m[k])                                          ;
        }
}
        编译、运行实况:
C:\Bin>cl x.c
用于 80x86 的 Microsoft (R) 32 位 C/C++ 优化编译器 16.00.30319.01 版
版权所有(C) Microsoft Corporation。保留所有权利。

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

/out:x.exe
x.obj

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

输出二维数组
36 2 3 4 5 6
7 8 9 10 11 12
13 14 15 16 17 18
19 20 21 22 23 24
25 26 27 28 29 30
31 32 33 34 35 1
C:\Bin>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-5 07:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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