这道题也叫前两名
教务处的老师在做了成绩统计以后,决定把最高分和第二高分的成绩公示出来表扬一下。他找到你,希望有个程序可以输入n个同学成绩,输出最高分,和第二高分,两个分数不同。
【输入格式】
输入包含2行:
第1行为N,表示N个人的成绩将被录入(N <= 100);
第2行为N个整数,整数之间以一个空格分开;(0 <= 分数 <= 100)
【输出格式】
第一行一个数,表示最高分。
第二行一个数,表示第二高分。
【输入输出样例#1】
输入#1
10 99 98 97 96 95 90 91 99 98 99
输出#1
99 98
以下是我做出的代码
#include <iostream>
using namespace std;
int main()
{
int max1=0,max2=0; //max1代表冠军max2代表亚军
int a;
cin>>a;
for(int i=1;i<=a;i++)
{
int y;
int u;
cin>>u;
if(max1<u)//新输入的数大于冠军
{
y=max1;
max2=y;
max1=u;
continue;
}
if(max1>u&&max2<u)//新输入的数小于冠军但大于亚军
{
max2=u;
continue;//这一行可加可不加
}
}
cout<<max1<<endl<<max2<<endl;//输出
return 0;
}
没登陆的可以在这里复制:
#include <iostream>
using namespace std;
int main()
{
int max1=0,max2=0; //max1代表冠军max2代表亚军
int a;
cin>>a;
for(int i=1;i<=a;i++)
{
int y;
int u;
cin>>u;
if(max1<u)//新输入的数大于冠军
{
y=max1;
max2=y;
max1=u;
continue;
}
if(max1>u&&max2<u)//新输入的数小于冠军但大于亚军
{
max2=u;
continue;//这一行可加可不加
}
}
cout<<max1<<endl<<max2<<endl;//输出
return 0;
}