shengxizi 发表于 2020-1-12 11:48:35

代码无错误,结果对不了

#include<stdio.h>

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

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

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

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



        a = a;
        a = a;
          

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

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

输入数组为1 2
                3 4
答案为4234
求大神解答

jackz007 发表于 2020-1-12 15:03:51

#include<stdio.h>

int main()
{
      int c , d , k , n , m , max , min                              ;
      printf("输入一个正整数\n")                                           ;
      scanf("%d" , & n)                                                    ;
      printf("输入二维数组\n")                                             ;
      for(k = 0 ; k < n * n ; k ++) scanf("%d" , & m)                   ;
      for(k = 0 , c = 0 , d = 0 , max = m , min = m ; k < n * n ; k ++) {
                if(m > max) {
                        c = k                                                ;
                        max = m                                           ;
                } else if (m < min) {
                        d = k                                                ;
                        min = m                                           ;
                }
      }
      m = max                                                         ;
      m = min                                                         ;
      printf("\n")                                                         ;
      printf("输出二维数组\n")                                             ;
      for(k = 0 ; k < n * n ; k ++) {
                if(! (k % n)) {
                        if(k) printf("\n")                                 ;
                } else {
                        printf(" ")                                          ;
                }
                printf("%d" , m)                                          ;
      }
}
      编译、运行实况:
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>
页: [1]
查看完整版本: 代码无错误,结果对不了