c语言 输入5名学生考试成绩,然后降序排序,最后输出
时间: 2024-05-09 19:17:17 浏览: 12
好的,您可以使用以下代码实现:
```
#include <stdio.h>
int main()
{
// 定义变量
int i, j, temp;
int scores[5];
// 进行输入
printf("请输入5名学生的考试成绩:\n");
for (i = 0; i < 5; i++)
{
scanf("%d", &scores[i]);
}
// 进行降序排序
for (i = 0; i < 5; i++)
{
for (j = i + 1; j < 5; j++)
{
if (scores[i] < scores[j])
{
temp = scores[i];
scores[i] = scores[j];
scores[j] = temp;
}
}
}
// 进行输出
printf("\n成绩降序排列为:\n");
for (i = 0; i < 5; i++)
{
printf("%d ", scores[i]);
}
return 0;
}
```
相关问题
c语言学生成绩降序排序
下面是C语言实现学生成绩降序排序的示例代码:
```c
#include <stdio.h>
// 定义学生结构体
struct student {
char name[20]; // 姓名
int score; // 成绩
};
int main() {
int n;
printf("请输入学生人数:");
scanf("%d", &n);
// 动态分配结构体数组内存
struct student *students = (struct student *)malloc(n * sizeof(struct student));
// 输入学生信息
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的姓名和成绩:", i+1);
scanf("%s %d", students[i].name, &students[i].score);
}
// 冒泡排序,按照成绩降序排序
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if (students[j].score < students[j+1].score) {
// 交换结构体数组元素
struct student temp = students[j];
students[j] = students[j+1];
students[j+1] = temp;
}
}
}
// 输出排序后的学生信息
printf("排序后的学生信息:\n");
for (int i = 0; i < n; i++) {
printf("姓名:%s\t成绩:%d\n", students[i].name, students[i].score);
}
// 释放结构体数组内存
free(students);
return 0;
}
```
上述代码中,我们首先定义了一个学生结构体,包含学生的姓名和成绩。然后动态分配结构体数组内存,接着输入学生信息。最后使用冒泡排序算法,按照成绩降序排序结构体数组中的元素,并输出排序后的学生信息。最后释放结构体数组内存。
用c语言输入10个学生成绩,把及格成绩按降序输出。
好的,这是一个关于C语言编程的问题。下面是示例代码实现该功能:
```c
#include <stdio.h>
#define N 10 // 学生成绩数
int main() {
int scores[N]; // 存储学生成绩的数组
// 输入10个成绩
printf("请输入10个学生成绩(0-100):\n");
for (int i = 0; i < N; i++) {
scanf("%d", &scores[i]);
}
// 冒泡排序,将及格成绩按降序排列
for (int i = 0; i < N-1; i++) {
for (int j = i+1; j < N; j++) {
if (scores[i] < scores[j]) {
int temp = scores[i];
scores[i] = scores[j];
scores[j] = temp;
}
}
}
// 输出及格成绩
printf("及格成绩按降序排列为:");
for (int i = 0; i < N; i++) {
if (scores[i] >= 60) // 及格成绩
printf("%d ", scores[i]);
}
printf("\n");
return 0;
}
```
希望对您有帮助!如果您还有其他问题,可以继续问我。