请输入 (1)输入10位同学的C语言成绩。 (2)并给出他们的总分和平均分。 (3)用冒泡法对10个同学的成绩进行排序,并依次输出
时间: 2024-12-29 15:29:12 浏览: 9
(1)首先,我们需要创建一个数组或者动态数组来存储这10位同学的C语言成绩。假设我们使用整数数组`score`来表示,每个元素代表一位同学的成绩。
```c
int score[10];
```
(2)然后,我们可以让用户输入这10位同学的成绩,并计算总分和平均分。这里需要一个变量来累加总分,并除以10得到平均分:
```c
int total_score = 0;
for (int i = 0; i < 10; i++) {
scanf("%d", &score[i]);
total_score += score[i];
}
float average_score = (float)total_score / 10;
```
(3)接下来,我们将使用冒泡排序算法对成绩数组进行降序排序。冒泡法通过不断比较相邻元素交换位置来进行排序:
```c
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// 交换score[j]和score[j+1]
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
bubbleSort(score, 10);
```
最后,我们遍历已排序的成绩数组并输出:
```c
printf("Sorted scores (highest to lowest):\n");
for (int i = 0; i < 10; i++) {
printf("%d ", score[i]); // 输出每位同学的成绩
}
printf("\nTotal Score: %d\n", total_score);
printf("Average Score: %.2f\n", average_score); // 保留两位小数
```
阅读全文