代码无错误,结果对不了
#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
求大神解答 #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]