,河北工程大学计算机大类共招生210人,第一学期期末进行了“C语言程序”的期末考试。从键盘上输入学生成绩,按从大到小的顺序将成绩排序并输出。输出时每名学生的成绩最小宽度为6,保留1位小数,每行输出10
时间: 2024-12-29 10:34:00 浏览: 9
在河北工程大学计算机大类的"C语言程序"期末考试中,如果需要设计这样一个功能,学生可以编写一个简单的控制台应用程序来实现。这里是一个基本的伪代码步骤:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENTS 210
#define DISPLAY_PER_LINE 10
void input_scores(int scores[], int count) {
for (int i = 0; i < count; i++) {
printf("请输入第 %d 学生的成绩:", i+1);
scanf("%f", &scores[i]);
}
}
void sort_scores_descending(float scores[]) {
int n = count;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (scores[j] < scores[j + 1]) {
float temp = scores[j];
scores[j] = scores[j + 1];
scores[j + 1] = temp;
}
}
}
}
void display_scores(float scores[], int count) {
for (int i = 0; i <= count; i += DISPLAY_PER_LINE) {
for (int j = i; j < i + DISPLAY_PER_LINE && j < count; j++) {
printf("%.1f ", scores[j]);
}
printf("\n");
}
// 输出最后一个非空行,可能不足DISPLAY_PER_LINE个元素
if (i < count) {
for (int j = i; j < count; j++) {
printf("%.1f ", scores[j]);
}
printf("\n");
}
}
int main() {
float scores[MAX_STUDENTS];
int count = 0;
input_scores(scores, MAX_STUDENTS);
sort_scores_descending(scores);
display_scores(scores, count);
return 0;
}
```
这个程序首先获取所有学生的成绩,然后对成绩数组进行降序排序,最后按照指定的每行显示10个分数的规则输出。
阅读全文