比较相邻的元素。如果第一个比第二个大,就交换他们两个,对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对,最后的元素应该会是最大的数。
如果有长度为3的数组a,三个数组元素a[0]
,a[1]
,a[2]
,编写程序求这3
个数组元素中的最大者。
解题思路: 1)如果 a[0]>a[1]
,a[0]
和a[1]
交换,a[1]
是a[0]
、a[1]
中的大者。
2)如果 a[1]>a[2]
,a[1]
和a[2]
交换,a[2]
是三者中最大者。
#include <stdio.h>
#include<stdlib.h>
int main ()
{
int n,m,a,i,j;
scanf("%d",&n);
int s[n];
for(a=0;a<n;a++)
{
scanf("%d",&s[a]);
}
for(i=0;i<n;i++)
{
for(i=0;i<n-1;i++)
{
if(s[i+1]<=s[i]){
m=s[i];
s[i]=s[i+1];
s[i+1]=m;
}
}
}
for(a=0;a<n;a++)
{
printf("%d ",s[a]);
}
return 0;
}