@[CodingTim](/user/1473968) 这个。。。
好像没辣么复杂吧···
结构体学过吧
直接放码,注释在码里
```cpp
#include <iostream>
#include <math.h>
#include <iomanip>
using namespace std;
struct stu{//一个结构体,表示学生的信息
int c,m,e;//分别表示chinese maths english (蒟蒻英语不好勿喷
string nm;//学生姓名
};
stu a[1005];//那堆学(ju)生(ruo)
int main(){
ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);//加快读写速度(抢最优解用的,没什么实际意义...
int n,mx=-1;//学生数量,最好成绩
int mxn;//最好成绩是第几个学生
cin>>n;//输入不解释
for(int i=0;i<n;i++){
cin>>a[i].nm>>a[i].c>>a[i].m>>a[i].e;//同样不解释
}
for(int i=0;i<n;i++){
if(a[i].c+a[i].m+a[i].e>mx){//比前面比较牛的学生还牛,改成>=必扣分(题目要求相同就输出靠前的),没扣就是数据太蒻
mx=a[i].c+a[i].m+a[i].e;//更新最大值
mxn=i;//记住学生的编号
}
}
cout<<a[mxn].nm<<' '<<a[mxn].c<<' '<<a[mxn].m<<' '<<a[mxn].e;//输出不解释
return 0;
}
by are_you_sure @ 2024-10-06 21:01:29
@[are_you_sure](/user/1367333)
好像也没你那么复杂吧...
```cpp
#include<bits/stdc++.h>
using namespace std;
struct NOIP{//定义结构体
string name;//名字
int age,cj;//年龄和成绩
};
int main(){
int n;cin>>n;
NOIP a[n];//数组
for(int i=0;i<n;i++){
cin>>a[i].name>>a[i].age>>a[i].cj;//输入
a[i].age++,a[i].cj+=a[i].cj*(0.2);
if(a[i].cj>600)a[i].cj=600;//调整成员信息
}
for(int i=0;i<n;i++)
printf("%s %d %d\n",a[i].name.c_str(),a[i].age,a[i].cj);//输出
}
```
by zqx168 @ 2024-10-07 09:21:28
@[zqx168](/user/1279390) 你的好像没法通过诶
by are_you_sure @ 2024-10-07 13:20:01
@[are_you_sure](/user/1367333)
抱歉,发错了
```cpp
#include<bits/stdc++.h>
using namespace std;
struct student{//学生
string name;
int Chineese,Maths,Einglish;//语数英
};
int main(){
string name;
int he=0,flag;//最大分,最大分学号
int n;cin>>n;
student a[n];
for(int i=0;i<n;i++){
cin>>a[i].name>>a[i].Chineese>>a[i].Maths>>a[i].Einglish;//输入
if(a[i].Chineese+a[i].Einglish+a[i].Maths>he){//判断
he=a[i].Chineese+a[i].Einglish+a[i].Maths;
name=a[i].name;flag=i;//记录
}
}
printf("%s %d %d %d",a[flag].name.c_str(),a[flag].Chineese,a[flag].Maths,a[flag].Einglish);//输出
}
```
by zqx168 @ 2024-10-07 13:30:25