酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

定义一个结构体student,其中包含的成员为char no[10];char name[10];float score。设有5个学生,从键盘输入其信息,按成绩的升序排序。并输出这5个学生排序后的信息。 输入格式: "%s%s%f" 输出格式: "请输入第%d位同学的信息:姓名 学号 成绩\n" "%s,%s,%.0f\n" 输入样例: 张三 10001 98 李四 10002 100 王五 10003 95 赵六 10004 99 钱七 10005 93 输出样例: 请输入第1位同学的信息:姓名 学号 成绩 请输入第2位同学的信息:姓名 学号 成绩 请输入第3位同学的信息:姓名 学号 成绩 请输入第4位同学的信息:姓名 学号 成绩 请输入第5位同学的信息:姓名 学号 成绩 钱七,10005,93 王五,10003,95 张三,10001,98 赵六,10004,99 李四,10002,100

```c #include <stdio.h> #include <string.h> struct student { char no[10]; char name[10]; float score; }; // 交换两个学生结构体的函数 void swap(struct student *a, struct student *b) { struct student temp = *a; *a = *b; *b = temp; } // 冒泡排序函数 void bubbleSort(struct student arr[], int n) { int i, j; for (i = 0; i < n - 1; i++) { for (j = 0; j < n - i - 1; j++) { if (arr[j].score > arr[j + 1].score) { swap(&arr[j], &arr[j + 1]); } } } } int main() { struct student students[5]; int i; for (i = 0; i < 5; i++) { printf("请输入第%d位同学的信息:姓名 学号 成绩\n", i + 1); scanf("%s%s%f", students[i].name, students[i].no, &students[i].score); } bubbleSort(students, 5); for (i = 0; i < 5; i++) { printf("%s,%s,%.0f\n", students[i].name, students[i].no, students[i].score); } return 0; } ``` [2024-10-30 18:45:58 | AI写代码神器 | 354点数解答]

相关提问