读入 n()名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含 1 个测试用例,格式为第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 ...
读入 n(>)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。
输入格式:
每个测试输入包含 1 个测试用例,格式为
第 1 行:正整数 n
第 2 行:第 1 个学生的姓名 学号 成绩
第 3 行:第 2 个学生的姓名 学号 成绩
... ... ...
第 n+1 行:第 n 个学生的姓名 学号 成绩
?
其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。
输出格式:
对每个测试用例输出 2 行,第 1 行是成绩最高学生的姓名和学号,第 2 行是成绩最低学生的姓名和学号,字符串间有 1 空格。
输入样例:
3
Joe Math990112 89
Mike CS991301 100
Mary EE990830 95
?
输出样例:
Mike CS991301 Joe Math990112
解题思路
1.边输入边比较,记录最大最小值下标,输出对应姓名学号
1 #include "stdio.h"
2 #include "stdlib.h"
3 #include "string.h"
4 int main(){
5 int n,i,max=0,min=0;
6
7 scanf("%d",&n);
8 char stname[n][20],stid[n][20];
9 int scour[n];
10 for(i=0;i<n;i++){
11 scanf("%s %s %d",stname[i],stid[i],&scour[i]);
12 if(scour[i]>scour[max])max=i;
13 if(scour[i]<scour[min])min=i;
14 }
15 printf("%s %s\n",stname[max],stid[max]);
16 printf("%s %s\n",stname[min],stid[min]);
17 return 0;
18 }
沃梦达教程
本文标题为:PTA basic 1004 成绩排名 (20 分) c语言实现(gcc)
猜你喜欢
- C++ 数据结构超详细讲解顺序表 2023-03-25
- 我应该为我的项目使用相对包含路径,还是将包含目录放在包含路径上? 2022-10-30
- C语言qsort()函数的使用方法详解 2023-04-26
- C语言手把手带你掌握带头双向循环链表 2023-04-03
- c++ const 成员函数,返回一个 const 指针.但是返回的指针是什么类型的 const? 2022-10-11
- Qt计时器使用方法详解 2023-05-30
- Easyx实现扫雷游戏 2023-02-06
- ubuntu下C/C++获取剩余内存 2023-09-18
- 详解C语言中sizeof如何在自定义函数中正常工作 2023-04-09
- C语言详解float类型在内存中的存储方式 2023-03-27
