PAT真题乙级1004成绩排名

水平有限,如有不足请指出谢谢

个人思路及代码(C语言)

题目要求输出成绩最高学生和最低学生的姓名及学号,字符串中间有一空格。
思路:
1.结构体学生信息
2.只保存成绩最高的学生信息和成绩最低的学生信息。
3.注意输入输出格式%s,是否有&,%s输入输出不需要&。
学生结构体定义:

typedef struct 
{
	char name[12];  //姓名
	char num[12];  //学号
	int scores;  //成绩
}stu;

代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct 
{
	char name[12];
	char num[12];
	int scores;
}stu;
void print(stu* a) {
	printf("%s %s\n", a->name, a->num);
}
int main() {
	stu max = { "","",0 };
	stu min = { "","",100 };
	stu box;
	int a = 0;
	scanf("%d", &a);
	for (int i = 0;i < a;i++) {
		scanf("%s", box.name);
		scanf("%s", box.num);
		scanf("%d", &box.scores);
		if (box.scores > max.scores)
			max = box;
		if (box.scores < min.scores )
			min = box;
	}
	
	print(&max);
	print(&min);
	return 0;
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值