C语言编程,多种方法求一个数组里的最大值和最小值。

如题所述

因为只是找出最大最小值,直接循环每个比较一次就可以。

#include<stdio.h> //挑选法

#define N 10

void main() { int a[N],m,n,i;

for ( i=0;i<N;i++ ) scanf("%d",&a[i]);

m=n=a[0]; for ( i=1;i<N;i++ ) if ( m<a[i] ) m=a[i]; else if ( n>a[i] ) n=a[i];

printf("最大值%d,最小值%d\n",m,n);

}

#include<stdio.h> //排序法

#define N 10

void main() { int a[N],i,j,k;

for ( i=0;i<N;i++ ) scanf("%d",&a[i]);

for ( i=0;i<N-1;i++ ) for ( j=i+1;j<N;j++ ) if ( a[i]<a[j] ) {k=a[i];a[i]=a[j];a[j]=k;}

printf("最大值%d,最小值%d\n",a[0],a[N-1]);

}

扩展资料:

C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。

参考资料来源:百度百科-c语言

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-12-21
因为只是找出最大最小值,直接循环每个比较一次就可以了。
第2个回答  2016-12-21
#include<stdio.h> //挑选法

#define N 10
void main() { int a[N],m,n,i;
for ( i=0;i<N;i++ ) scanf("%d",&a[i]);
m=n=a[0]; for ( i=1;i<N;i++ ) if ( m<a[i] ) m=a[i]; else if ( n>a[i] ) n=a[i];
printf("最大值%d,最小值%d\n",m,n);
}
#include<stdio.h> //排序法

#define N 10
void main() { int a[N],i,j,k;
for ( i=0;i<N;i++ ) scanf("%d",&a[i]);
for ( i=0;i<N-1;i++ ) for ( j=i+1;j<N;j++ ) if ( a[i]<a[j] ) {k=a[i];a[i]=a[j];a[j]=k;}
printf("最大值%d,最小值%d\n",a[0],a[N-1]);
}本回答被提问者和网友采纳