1004 成绩排名
发布日期:2022-04-07 05:22:38 浏览次数:47 分类:技术文章

本文共 929 字,大约阅读时间需要 3 分钟。

在这里插入图片描述

1004 成绩排名

题目描述

在这里插入图片描述

解题思路

自定义结构体类型,成员包括姓名,学号,成绩。

对于姓名和学号是字符串,注意有\0,数组大小最小为11
我们分别用a,b表示最低成绩的下标,最高成绩的下标。用min,max分别表示最小成绩和最大成绩。
循环进行比较找出最低成绩的下标与最高成绩的下标。最后输出即可。
具体实现看下面的代码:

代码实现

#include 
#include
typedef struct studet{
char name[11]; char id[11]; int grade;}stu;int main(){
int n; scanf("%d", &n); stu* people = (stu*)malloc(n * sizeof(stu)); int i = 0; int a = 0, b = 0, min = 0, max = 0; for (i = 0; i < n; i++) {
scanf("%s%s%d", (people+i)->name, (people + i)->id, &(people + i)->grade); if (i == 0)//预设第一个人的成绩既是最大也是最小的 {
min = (people + i)->grade; max = (people + i)->grade; } //进行比较,找出最低成绩的下标与最高成绩的下标 if ((people + i)->grade < min) {
min = (people + i)->grade; a = i; } if ((people + i)->grade > max) {
max = (people + i)->grade; b = i; } } //输出 printf("%s %s\n", (people + b)->name, (people + b)->id); printf("%s %s\n", (people + a)->name, (people + a)->id); return 0;}

在这里插入图片描述

转载地址:https://blog.csdn.net/m0_60598323/article/details/123760628 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:1005 继续(3n+1)猜想
下一篇:1003 我要通过

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年03月30日 04时02分25秒