c语言编制程序,输入某班10名学生数学考试成绩,统计并输出全班的平均成绩和与平均分相差不超过5分(包括5分)的学生人数。 【输入描述】 输入10名学生的成绩。 【输出描述】 先输出全班的平均成绩(保留两位小数),然后输出与平均分相差不超过5分(包括5分)的学生人数,之间用一个半角空格间隔。
时间: 2024-03-25 09:36:52 浏览: 73
以下是 C 语言的程序实现:
```c
#include <stdio.h>
#include <math.h>
int main() {
// 定义变量
int i, count = 0;
float sum = 0, avg, score[10];
// 输入成绩
for (i = 0; i < 10; i++) {
scanf("%f", &score[i]);
sum += score[i];
}
// 计算平均分
avg = sum / 10;
printf("平均成绩为:%.2f\n", avg);
// 统计与平均分相差不超过5分的学生人数
for (i = 0; i < 10; i++) {
if (fabs(score[i] - avg) <= 5) {
count++;
}
}
// 输出学生人数
printf("与平均分相差不超过5分的学生人数为:%d\n", count);
return 0;
}
```
程序运行时,需要输入 10 名学生的成绩,程序会自动计算全班的平均分,并统计与平均分相差不超过 5 分的学生人数,最后输出结果。
相关问题
用c语言输入某班10个学生的姓名及数学成绩、英语成绩、C语言成绩,计算每位学生的平均分,然后输出平均分最高的学生的姓名及其三门课程成绩。
好的,这是一个比较典型的 C 语言程序,我可以帮你实现。以下是代码示例:
```c
#include <stdio.h>
#include <string.h>
#define N 10
struct Student {
char name[20];
float math_score;
float eng_score;
float c_score;
float avg_score;
};
int main() {
struct Student students[N];
// 输入学生信息
for (int i = 0; i < N; i++) {
printf("请输入第%d个学生的姓名、数学成绩、英语成绩、C语言成绩:\n", i + 1);
scanf("%s %f %f %f", students[i].name, &students[i].math_score, &students[i].eng_score, &students[i].c_score);
// 计算平均分
students[i].avg_score = (students[i].math_score + students[i].eng_score + students[i].c_score) / 3.0;
}
// 找出平均分最高的学生
struct Student *max_student = &students[0];
for (int i = 1; i < N; i++) {
if (students[i].avg_score > max_student->avg_score) {
max_student = &students[i];
}
}
// 输出平均分最高的学生的信息
printf("平均分最高的学生是:\n");
printf("姓名:%s\n", max_student->name);
printf("数学成绩:%.2f\n", max_student->math_score);
printf("英语成绩:%.2f\n", max_student->eng_score);
printf("C语言成绩:%.2f\n", max_student->c_score);
printf("平均分:%.2f\n", max_student->avg_score);
return 0;
}
```
输入样例:
```
请输入第1个学生的姓名、数学成绩、英语成绩、C语言成绩:
张三 90.5 80.0 75.0
请输入第2个学生的姓名、数学成绩、英语成绩、C语言成绩:
李四 85.0 90.0 70.0
请输入第3个学生的姓名、数学成绩、英语成绩、C语言成绩:
王五 78.0 88.0 90.0
请输入第4个学生的姓名、数学成绩、英语成绩、C语言成绩:
赵六 92.0 72.0 85.0
请输入第5个学生的姓名、数学成绩、英语成绩、C语言成绩:
钱七 80.0 85.0 82.0
请输入第6个学生的姓名、数学成绩、英语成绩、C语言成绩:
孙八 88.5 92.0 78.0
请输入第7个学生的姓名、数学成绩、英语成绩、C语言成绩:
周九 95.0 84.0 80.0
请输入第8个学生的姓名、数学成绩、英语成绩、C语言成绩:
吴十 87.0 90.5 88.0
请输入第9个学生的姓名、数学成绩、英语成绩、C语言成绩:
郑十一 83.5 86.0 92.5
请输入第10个学生的姓名、数学成绩、英语成绩、C语言成绩:
黄十二 79.0 75.0 86.0
```
输出样例:
```
平均分最高的学生是:
姓名:周九
数学成绩:95.00
英语成绩:84.00
C语言成绩:80.00
平均分:86.33
```
使用结构体表示某班学生的姓名,学号,籍贯,c语言考试成绩,编程输出全班同学信息并计算c语言考试平均成绩
以下是使用结构体表示某班学生信息的示例代码:
```c
#include <stdio.h>
#define MAX_STUDENTS 50
struct Student {
char name[20];
char id[10];
char hometown[20];
int c_score;
};
int main() {
struct Student students[MAX_STUDENTS];
int num_students, total_c_score = 0;
printf("请输入学生人数(不超过 %d):\n", MAX_STUDENTS);
scanf("%d", &num_students);
for (int i = 0; i < num_students; i++) {
printf("请输入第 %d 个学生的姓名、学号、籍贯和c语言考试成绩(用空格分隔):\n", i + 1);
scanf("%s %s %s %d", students[i].name, students[i].id, students[i].hometown, &students[i].c_score);
total_c_score += students[i].c_score;
}
printf("全班同学信息如下:\n");
printf("姓名\t学号\t籍贯\tc语言成绩\n");
for (int i = 0; i < num_students; i++) {
printf("%s\t%s\t%s\t%d\n", students[i].name, students[i].id, students[i].hometown, students[i].c_score);
}
float avg_c_score = (float) total_c_score / num_students;
printf("c语言考试平均成绩为:%.2f\n", avg_c_score);
return 0;
}
```
在以上代码中,我们使用了结构体 `Student` 来表示一个学生的信息,其中包括姓名、学号、籍贯和c语言考试成绩。在 `main` 函数中,我们首先定义了一个数组 `students` 来存储所有学生的信息。然后,通过 `scanf` 函数从用户输入中获取学生信息,并计算c语言考试成绩的总和。接着,我们使用一个循环输出全班同学的信息,并计算c语言考试成绩的平均值。最后,我们将平均值输出到屏幕上。
阅读全文