目录
哈喽大家好啊,今天继续为大家分享俩道洛谷的题目,希望大家多支持哦~
现有 N 名同学参加了期末考试,并且获得了每名同学的信息:姓名(不超过 8 个字符的仅有英文小写字母的字符串)、语文、数学、英语成绩(均为不超过 150 的自然数)。总分最高的学生就是最厉害的,请输出最厉害的学生各项信息(姓名、各科成绩)。如果有多个总分相同的学生,输出靠前的那位。
第一行输入一个正整数 N,表示学生个数。
第二行开始,往下 N 行,对于每一行首先先输入一个字符串表示学生姓名,再输入三个自然数表示语文、数学、英语的成绩。均用空格相隔。
输出最厉害的学生。

- #include
- #include
- #include
- using namespace std;
-
- const int N=1010;
- char name[N][10];
- int chin[N],math[N],engl[N],sum[N];
-
- int main(){
- int n=0;
- int max1=0,summax1=0;
- cin>>n;
- for(int i=0;i
- scanf("%s",name[i]);
- scanf("%d%d%d",&chin[i],&math[i],&engl[i]);
- sum[i]=chin[i]+math[i]+engl[i];
- }
- for(int j=0;j
- if(sum[j]>summax1){
- summax1=sum[j];
- max1=j;
- }
- }
- printf("%s %d %d %d",name[max1],chin[max1],math[max1],engl[max1]);
- return 0;
- }
大体思路:这道题用多个数组,结构体都可以,本题我使用的是多个数组进行处理的。创建一个二维数组用来记录名字(字符串数组),再分别开4个数组分别记录语文数学英语以及总成绩,找到最大输出即可,思路较为清晰,把握好细节即可。
2. 明明的随机数
1.题目描述
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 N 个 1 到 1000之间的随机整数 (N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。
2.输入格式
输入有两行,第 1 行为 1 个正整数,表示所生成的随机数的个数 N。
第 2 行有 N 个用空格隔开的正整数,为所产生的随机数。
3.输出格式
输出也是两行,第 1 行为 1 个正整数 M,表示不相同的随机数的个数。
第 2 行为 M 个用空格隔开的正整数,为从小到大排好序的不相同的随机数。
4.输入输出样例

5.题解
- #include
- using namespace std;
- int main(){
- int n,x;
- cin>>n;
- int sum(0),bus[1002]={0};
- for(int i=1;i<=n;i++){
- cin>>x;
- if(bus[x])
- continue;
- bus[x]++;
- sum++;
- }
-
-
相关阅读:
寒假训练——第三周(背包DP)
微信公众号推送天气(最近超火的小玩意)
java版直播商城平台规划及常见的营销模式有哪些?电商源码/小程序/三级分销
Linux系统 SSHD服务安全优化方案
聚焦私域营销降本提效,国联股份与火山引擎数智平台展开合作
【Java基础】泛型+反射+枚举+Lambda表达式 知识点总结
第一章:最新版零基础学习 PYTHON 教程(第十七节 - Python 表达式语句–Python返回语句)
Python Tcp编程
指针到底是个什么玩意
每日Leecode算法题:1337.矩阵中战斗力最弱的k行
-
原文地址:https://blog.csdn.net/2301_81073317/article/details/138168234