德才论问题
原题:

输入样例:
14 60 80
10000001 64 90
10000002 90 60
10000011 85 80
10000003 85 80
10000004 80 85
10000005 82 77
10000006 83 76
10000007 90 78
10000008 75 79
10000009 59 90
10000010 88 45
10000012 80 100
10000013 90 99
10000014 66 60
输出样例:
12
10000013 90 99
10000012 80 100
10000003 85 80
10000011 85 80
10000004 80 85
10000007 90 78
10000006 83 76
10000005 82 77
10000002 90 60
10000014 66 60
10000008 75 79
10000001 64 90
思路:
1.先定义一个结构体student,如下
struct student{
int de,cai,sum;
char id[10];
};
2.根据题目所给的规则,对输入的考生分为四类,依次存放到相应的数组中,如下:
for(int i=0;i<N;i++)
{
int b,c;
char a[10];
scanf("%s%d%d",a,&b,&c);
if(b>=L&&c>=L)
{
if(b>=H&&c>=H)
{
memcpy(s1[m1].id,a,sizeof(a));
s1[m1].de=b;
s1[m1].cai=c;
s1[m1].sum=b+c;
m1++;
}
else if(b>=H&&c<H)
{
memcpy(s2[m2

这是一篇关于PAT乙级题库1015题的解析,主要讨论如何根据德才论原则对考生进行分类和排序。博客中通过定义结构体、分类存储、自定义排序函数实现对考生信息的处理,并提供了完整的C语言代码实现。注意,使用scanf和printf可以避免测试数据时的输入输出错误。
最低0.47元/天 解锁文章
3415

被折叠的 条评论
为什么被折叠?



