|  | 
 
| 
#include<stdio.h>
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
 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
 求大神解答
 
复制代码#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>
 | 
 |