PAT乙级 1004 成绩排名 C++
//读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。
#include <iostream>
#include <stdio.h>
#include <string.h>
typedef struct Student {
char name[11];
char num[11];
int score;
}stu;
int main(void)
{
stu stu1 = { 0 };
int n = 0,i = 0;
stu max_stu = { 0 };
stu min_stu = { 0 };
std::cin >> n;
for (i = 0; i < n; i++)
{
std::cin >> stu1.name;
std::cin >> stu1.num;
std::cin >> stu1.score;
if (0 == i)
{
strncpy(max_stu.name,stu1.name,sizeof(max_stu.name)-1);
strncpy(max_stu.num, stu1.num, sizeof(max_stu.num) - 1);
max_stu.score = stu1.score;
strncpy(min_stu.name, stu1.name, sizeof(min_stu.name) - 1);
strncpy(min_stu.num, stu1.num, sizeof(min_stu.num) - 1);
min_stu.score = stu1.score;
}
else
{
if (stu1.score > max_stu.score)
{
strncpy(max_stu.name, stu1.name, sizeof(max_stu.name) - 1);
strncpy(max_stu.num, stu1.num, sizeof(max_stu.num) - 1);
max_stu.score = stu1.score;
}
if (stu1.score < min_stu.score)
{
strncpy(min_stu.name, stu1.name, sizeof(min_stu.name) - 1);
strncpy(min_stu.num, stu1.num, sizeof(min_stu.num) - 1);
min_stu.score = stu1.score;
}
}
}
std::cout << max_stu.name << " " << max_stu.num << std::endl;
std::cout << min_stu.name << " " << min_stu.num << std::endl;
return 0;
}

浙公网安备 33010602011771号