📄 程序员考试.c
字号:
// C语言课程第五次练习 -A 卷
//本题为程序设计题, 10分
//
//
//
//程序员考试
//Designed by JGJ
//
//
//
//【问题描述】
//
//一家软件公司招聘了数十位程序员,分成若干部门。 进行一次考试,对各个部门的所有程序员进行考核。
//
//考试结束后评出了每个人的分数。现在需要知道,在每个部门内,成绩最好的程序员和成绩最差的程序员分别是谁。
//
//
//
//【输入形式】
//
//输入有N+1行,每一个有若干正整数。
//
//第一行只有一个正整数,代表公司的部门数目。
//
//剩余的N行,每一行代表了该部门所有程序员的得分。其中每行第一个数字k代表了该部门的程序员个数,该行剩下的有k对数据,每对数据包括一个程序员的姓名(一个字符串)和其得分(一个正整数)。
//
//
//
//【输出形式】
//
//输出有N行,每行有两个串。第一个串该部门得分最高的程序员的姓名,第二个数字是得分最低的程序员的姓名。
//
//
//
//【样例输入】
//
//3
//
//4 jgj 84 cb 75 yl 90 yin 100
//
//4 wzl 70 hx 95 zyy 80 yj 82
//
//3 zqy 60 whl 94 zl 80
//
//
//
//【样例输出】
//
//yin cb
//
//hx wzl
//
//whl zqy
//
//
//
//【样例说明】
//
//公司内有三个部门。
//
//第一个部门有jgj、cb、yl、yin四个程序员。得分分别为84、75、90、100。所以该部门得分最高的程序员为yin,得分最低的为cb
//
//其余各部门与此类同。
//
//
//
//【评分标准】
//
//输出有N行。如果你的程序计算的完全正确,该测试点得满分;如果算错了一个部门,该测试点得满分的80%;如果算错了两个部门,该测试点得满分的60%;算错三个以上,该测试点得分为0。
//
//
//
//
//
//--------------------------------------------------------------------------------
//
//Upload Your source File(s) :
//
//Note :Your program can be written with the programing language(s) as below
//
//C(.c): your source filename is ``programmer.c''
#include <stdio.h>
#include <stdlib.h>
typedef struct Record
{
char name[10];
int score;
}Record;
void find(Record*, int, Record*, Record*);
int main()
{
int line, i, j, num;
Record* array;
Record max, min;
scanf("%d", &line);
for(i = 0; i < line; ++i)
{
scanf("%d", &num);
array = (Record*)malloc(num * sizeof(Record));
for(j = 0; j < num; ++j)
scanf("%s%d", &array[j].name, &array[j].score);
find(array, num, &max, &min);
printf("%s %s\n", max.name, min.name);
free(array);
}
}
void find(Record* array, int num, Record* max, Record* min)
{
int i;
*max = *min = array[0];
for(i = 1; i < num; ++i)
{
if(max->score < array[i].score)
*max = array[i];
if(min->score > array[i].score)
*min = array[i];
}
}
//programmer.c -- practice5(5);
//written by aladdinlamp;
//Sept 26th, 2003;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -