C语言 一次遍历求出第一大和第二大

#include<stdio.h>
int main()
{
	int Arry[11]={4,7,2,20,3,9,10,1,15,6,21};
	int First_Max,Second_Max;
	//默认第一大就是第一大,第二大就是第二大,后面有比第一大的就认为是最大,
	//比第二大而比第一小的就是第二大
	First_Max=Arry[0];
	Second_Max=Arry[1];
	for (int i=0;i<11;i++)
	{
		//当后面有比第一大还大的数时,第一大被改变,变成第二大
		 if (Arry[i]>First_Max)
		 { 
			 Second_Max=First_Max;
			 First_Max=Arry[i];
			
		 }
		 if (Arry[i]<First_Max&&Arry[i]>Second_Max)
		 {
			 Second_Max=Arry[i];
		 }

	}
	printf("%d %d",First_Max,Second_Max);
	getchar();
	return 0;
}

你可能感兴趣的:(C语言 一次遍历求出第一大和第二大)