目录
哈喽大家好啊,今天继续为大家分享俩道洛谷的题目,希望大家多支持哦~
现有 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++;
- }
-
-
相关阅读:
ethtool netlink 框架原理浅析
在外包干了2年,我悟了...
日报系统:优化能源行业管理与决策的利器
32、Java——迷你图书管理器(对象+JDBC)
SpringCloud Alibaba
Zookeeper: 配置参数解读
pandas DataFrame内存优化技巧:让数据处理更高效
linux clickhouse 密码设置
Android Camera MIPI接口知识总结
pclpy 可视化点云(多窗口可视化、单窗口多点云可视化)
-
原文地址:https://blog.csdn.net/2301_81073317/article/details/138168234