成绩排名 (C语言)

1004 成绩排名 (20分)

原文链接:PAT (Basic Level) Practice (中文)

成绩排名 (C语言)_第1张图片

这里是使用c编写的代码(2021年7月30日):

#include
int main(){
    int num,i=0,achievement[1000],max=0,min=0;
    char name[1000][11],nums[1000][11];
    scanf("%d",&num);
    scanf("%s %s %d",name[i],nums[i],&achievement[i]);
    for(i=1;i<num;i++){
        scanf("%s %s %d",name[i],nums[i],&achievement[i]);
        achievement[i]>achievement[max]?max=i:(achievement[i]<achievement[min]?min=i:i++);
    }
    printf("%s %s\n",name[max],nums[max]);
    printf("%s %s",name[min],nums[min]);
}

解题思路:每一次输入都使用最大和最小标记了的的学生的成绩与输入学生成绩相比,记录下新的最大和最小成绩在数组中的编号。
注意:这里成绩具体的值并不会对输出正确结果有帮助,所以储存序号是更好的选择。

你可能感兴趣的:(c语言)