怎么做
  1. 题面里的虚线方框就是要填的空
  2. 点候选项,它会填进当前高亮的那个空
  3. 点已填好的空,可以把选项取回来重选
  4. 全部填满后「提交」才会亮起
卡住了就点右下角的 👩‍🏫 问 AI 老师,她会给提示但不直接给答案。

结构体排序:整张卡片一起换

👁️ 23 人浏览 💬 0 人评论 ❤️ 添加收藏

按成绩从高到低排:名字和成绩是一张卡片,整行一起搬家

A60
B95
C80

给结构体数组排序,用的还是第 ③ 条路线的冒泡法,只有两点不同:比较时取某个成员(a[j].score),交换时整张卡片一起换(临时变量 t 也是 STU)。

#include <stdio.h>

typedef struct {
    char name[20];
    int score;
} STU;

int main(void)
{
    STU a[4] = {{"小林", 78}, {"阿杰", 92}, {"小美", 85}, {"大壮", 66}};
    STU t;
    int i, j;
    for (i = 0; i < 3; i++)
        for (j = 0; j < 3 - i; j++)
            if (a[j].score < a[j + 1].score) {
                t = a[j];
                a[j] = a[j + 1];
                a[j + 1] = t;
            }
    for (i = 0; i < 4; i++)
        printf("%s %d\n", a[i].name, a[i].score);
    return 0;
}

排序后第一行输出【0】,小林排在第【1】行。如果交换时只交换 score(名字留在原地),第一行会变成【2】。

请登录后作答。
去登录
👩‍🏫
AI
💬 题目评论
🔒 登录并作答后可看讨论