输入5个学生的成绩,输出高出平均成绩的成绩C语言
时间: 2024-11-13 11:40:51 浏览: 20
在C语言中,我们可以使用数组存储学生的成绩,并计算平均分。然后遍历数组,找出高于平均分的学生及其成绩。以下是简单的示例程序:
```c
#include <stdio.h>
#define NUM_OF_STUDENTS 5
int main() {
float scores[NUM_OF_STUDENTS] = {80, 90, 75, 85, 95}; // 学生成绩
float total = 0, average;
int i;
// 计算总分并求平均分
for (i = 0; i < NUM_OF_STUDENTS; i++) {
total += scores[i];
}
average = total / NUM_OF_STUDENTS;
printf("平均成绩: %.2f\n", average);
// 打印高出平均分的成绩
printf("高出平均成绩:\n");
for (i = 0; i < NUM_OF_STUDENTS; i++) {
if (scores[i] > average) {
printf("学生 %d 的成绩: %.2f\n", i + 1, scores[i]);
}
}
return 0;
}
```
在这个程序中,我们首先初始化了一个包含5个成绩的数组,接着计算总分和平均分,然后遍历数组,如果发现某分数大于平均分,就打印出来。
相关问题
输入5个学生的成绩,输出高出平均成绩的成绩 用c语言数组写
在C语言中,你可以使用数组来存储学生的成绩,并计算平均成绩。然后遍历数组找出高于平均分的学生及其成绩。以下是简单的示例代码:
```c
#include <stdio.h>
#define NUM_STUDENTS 5
// 函数声明
double calculate_average(int scores[]);
void print_students_above_average(int scores[], int count);
int main() {
int scores[NUM_STUDENTS] = {85, 90, 75, 95, 80}; // 假设这是5个学生的成绩
int num_students = sizeof(scores) / sizeof(scores[0]);
// 计算平均成绩
double average_score = calculate_average(scores);
// 打印出高于平均分的成绩
print_students_above_average(scores, num_students);
return 0;
}
// 函数:计算平均值
double calculate_average(int scores[]) {
int sum = 0;
for (int i = 0; i < num_students; i++) {
sum += scores[i];
}
return (double)sum / num_students;
}
// 函数:打印高于平均分的成绩
void print_students_above_average(int scores[], int count) {
double average = calculate_average(scores);
printf("平均成绩:%.2f\n", average);
for (int i = 0; i < count; i++) {
if (scores[i] > average) {
printf("学生%d的成绩:%.2f,高于平均分\n", i+1, scores[i]);
}
}
}
```
运行这个程序,你会看到高于平均分的学生及其成绩。注意,此代码未处理空数组或只包含一个元素的情况,实际应用中应添加适当检查。
c语言输入学生的成绩学号 输出成绩学号 平均成绩
在C语言中,你可以使用循环结构、数组或者结构体来实现这个功能。这里是一个简单的示例,假设你有一个包含学生信息的结构体,如`student`,包含`score`和`id`两个成员:
```c
#include <stdio.h>
// 定义学生结构体
typedef struct {
int id; // 学号
float score; // 成绩
} Student;
void input_and_average(Student students[], int n) {
int i;
printf("请输入学生信息 (学号 空格 成绩),输入0结束输入:\n");
for (i = 0; i < n; ++i) {
if (scanf("%d %f", &students[i].id, &students[i].score) == EOF) break; // 输入结束标志
printf("已输入学号:%d,成绩:%f\n", students[i].id, students[i].score);
}
// 计算平均成绩
float sum = 0.0;
for (i = 0; i < n && students[i].score != 0; ++i)
sum += students[i].score;
float avg = (sum / (float)n);
printf("所有学生的平均成绩为:%f\n", avg);
}
int main() {
const int MAX_STUDENTS = 10;
Student students[MAX_STUDENTS]; // 存储学生信息的数组
int num_students = 0;
// 获取用户输入并更新数组
input_and_average(students, num_students);
return 0;
}
```
在这个程序中,首先定义了一个`input_and_average`函数,用于读取用户的输入,并计算平均成绩。然后在`main`函数中调用该函数。
运行程序时,按照提示依次输入每个学生的学号和成绩,直到输入0为止。最后会显示所有输入的学生的平均成绩。
阅读全文