用C语言输入十个学生的百分制成绩存放至数组中,并降序输出
时间: 2024-12-12 21:17:21 浏览: 8
在C语言中,你可以使用以下步骤来实现这个功能:
1. 首先,定义一个整型数组来存储学生的成绩,假设我们有10个位置。
```c
int scores[10];
```
2. 使用`for`循环获取用户输入的10个成绩。这里假设你使用`scanf`函数接收输入:
```c
for (int i = 0; i < 10; i++) {
printf("请输入第%d位学生的百分制成绩:", i + 1);
scanf("%d", &scores[i]);
}
```
3. 接下来,我们需要对数组进行降序排序。由于标准库并没有提供现成的降序排序函数,我们可以使用冒泡排序或其他自定义算法(如选择排序或快速排序,但冒泡排序在这里比较简单):
```c
// 冒泡排序实现
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (scores[j] < scores[j + 1]) {
// 交换元素
int temp = scores[j];
scores[j] = scores[j + 1];
scores[j + 1] = temp;
}
}
}
}
bubbleSort(scores, 10); // 对数组进行降序排序
```
4. 最后,遍历已排序的数组并输出结果:
```c
for (int i = 0; i < 10; i++) {
printf("第%d位学生的成绩:%d\n", i + 1, scores[i]);
}
```
记得在实际编写程序时添加适当的错误检查,比如处理无效输入或溢出情况。
阅读全文