文章

36

粉丝

0

获赞

5

访问

22.9k

头像
纯c 插排代替stable_sort
P1151 清华大学上机题
发布于2024年3月6日 16:09
阅读数 598

#include <stdio.h>
#include <stdbool.h>
#include <math.h>
#include <string.h>
//0为降序 1为升序
struct messenge{
    char name[10];
    int grade;
}student[1000],temp;

int main(void) {
    int number,list,j;
    while(scanf("%d",&number)!=EOF){
        scanf("%d",&list);
        for(int i=0;i<number;i++){
            scanf("%s %d",student[i].name,&student[i].grade);
        }
        if(list==1){
            for(int i=1;i<number;i++){
                if(student[i].grade<student[i-1].grade){
                    temp = student[i];
                    for(j=i-1;j>=0&&student[j].grade>temp.grade;j--){
                        student[j+1].grade = student[j].grade;
                        strcpy(student[j+1].name,student[j].name);
                    }
                    student[j+1].grade = temp.grade;
                    strcpy(student[j+1].name,temp.name);
                }
            }
            f...
登录查看完整内容


登录后发布评论

2 条评论
snake VIP
2024年3月6日 16:35

试试多组数据输入

赞(0)

williams : 回复 snake: 谢谢大哥!!!! 对了!

2024年3月7日 09:05