- 任務(wù)描述
- 相關(guān)知識
- 編程要求
- 編程要求
- 測試說明
任務(wù)描述
本關(guān)任務(wù):比較數(shù)組相鄰兩個元素求最大值 。
相關(guān)知識
比較相鄰的元素。如果第一個比第二個大,就交換他們兩個,對每一對相鄰元素做同樣的工作,從開始第一對到結(jié)尾的最后一對,最后的元素應(yīng)該會是最大的數(shù)。
如果有長度為3的數(shù)組a,三個數(shù)組元素a[0]
,a[1]
,a[2]
,編寫程序求這3
個數(shù)組元素中的最大者。 解題思路: 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]
是三者中最大者。
用if
語句表示如下:
if(a[0]>a[1])
{
t=a[0]; a[0]=a[1]; a[1]=t; //a[0]和a[1]交換
}
if(a[1]>a[2])
{
t=a[1]; a[1]=a[2]; a[2]=t; //a[1]和a[2]交換
}
編程要求
現(xiàn)在有長度為n
個整型數(shù)組a
,用交換法求數(shù)組中的最大值的解題思路如下: 第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]
是前三個數(shù)組元素中最大者。 …… 第n-1
步:如果 a[n-2]>a[n-1]
,a[n-2]
和a[n-1]
交換,a[n-1]
是n
個數(shù)組元素中最大者。
編程要求
根據(jù)提示,在右側(cè)編輯器 Begin-End 區(qū)間補充代碼,用循環(huán)寫出求最大值語句。
測試說明
平臺會對你編寫的代碼進行測試:
測試輸入: 10
39
1
4
32
91
57
6
33
2
88
輸入說明: 第一行為
n
,表示n
個整數(shù)。 第二行為n
個整數(shù)。
預(yù)期輸出: 1
4
32
39
57
6
33
2
88
91
輸出說明: 最后一個元素應(yīng)該是最大值文章來源:http://www.zghlxwxcb.cn/news/detail-454671.html
開始你的任務(wù)吧,祝你成功!文章來源地址http://www.zghlxwxcb.cn/news/detail-454671.html
#include <stdio.h>
#include<stdlib.h>
#define N 100
int main ()
{
/********** Begin **********/
int a[N],n,i,j,t=0,flag;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d ",&a[i]);
}
for(i=0;i<n-1;i++)
{
flag=0;
for(j=0;j<n-i-1;j++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
flag=1;
}
else if(a[i]<a[i+1])
{
a[i]=a[i];
a[i+1]=a[i+1];
}
}
if(flag==1)
{
for(j=0;j<n;j++)
printf("%d ",a[j]);
}
if(flag==0)
{
for(j=0;j<n-1;j++)
printf("%d ",a[j-1]);
printf("%d",a[j+1]);
}
/********** End **********/
return 0;
}
到了這里,關(guān)于第1關(guān):比較相鄰兩個元素求最大值的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!