已知学生四门成绩,将成绩放入数组,求考试的平均值并输出
时间: 2024-02-23 07:57:47 浏览: 26
好的,我可以帮你解决这个问题。请看下面的代码示例:
```python
# 假设学生的四门成绩分别为 80, 85, 90, 95
scores = [80, 85, 90, 95]
# 计算成绩的平均值
average_score = sum(scores) / len(scores)
# 输出平均值
print("考试的平均值为:", average_score)
```
输出结果:
```
考试的平均值为: 87.5
```
请注意,上述代码中使用了 Python 内置的 `sum()` 函数和 `len()` 函数,分别计算了成绩的总和和成绩的数量,然后用总和除以数量求得平均值。
相关问题
C语言,已知五个学生四门课的成绩,要求求出每个学生的平均成绩,然后输出四门课的成绩及平均成绩
好的,我会尽力回答你的问题。以下是C语言程序的代码:
```c
#include <stdio.h>
int main()
{
int scores[5][4]; // 声明一个二维数组,用于存储五个学生四门课的成绩
int i, j, sum;
// 输入五个学生四门课的成绩
for (i = 0; i < 5; i++)
{
printf("请输入第%d个学生的四门课成绩:\n", i + 1);
for (j = 0; j < 4; j++)
{
scanf("%d", &scores[i][j]);
}
}
// 计算每个学生的平均成绩并输出
printf("每个学生的平均成绩如下:\n");
for (i = 0; i < 5; i++)
{
sum = 0;
for (j = 0; j < 4; j++)
{
sum += scores[i][j];
}
printf("学生%d的平均成绩为:%.2f\n", i + 1, sum / 4.0);
}
// 输出四门课的成绩及平均成绩
printf("四门课的成绩及平均成绩如下:\n");
for (j = 0; j < 4; j++)
{
sum = 0;
printf("第%d门课的成绩为:", j + 1);
for (i = 0; i < 5; i++)
{
printf("%d ", scores[i][j]);
sum += scores[i][j];
}
printf("平均成绩为:%.2f\n", sum / 5.0);
}
return 0;
}
```
程序运行后,会先让你输入五个学生四门课的成绩,然后计算每个学生的平均成绩并输出,最后输出四门课的成绩及平均成绩。注意,每个学生的平均成绩保留两位小数。
已知三名学生三科成绩,求总成绩并按成绩排名输出
好的,你可以使用结构体来存储每个学生的信息,包括姓名和三科成绩。然后,你可以计算每个学生的总成绩,并将学生按照总成绩从高到低排名输出。
下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
#define NUM_STUDENTS 3
#define NUM_SUBJECTS 3
struct student {
char name[20];
int scores[NUM_SUBJECTS];
int total_score;
};
void calc_total_score(struct student *s) {
int i, sum = 0;
for (i = 0; i < NUM_SUBJECTS; i++) {
sum += s->scores[i];
}
s->total_score = sum;
}
void print_students(struct student *students, int num_students) {
int i, j;
// 冒泡排序,按总成绩从高到低排名
for (i = 0; i < num_students - 1; i++) {
for (j = 0; j < num_students - i - 1; j++) {
if (students[j].total_score < students[j + 1].total_score) {
struct student temp = students[j];
students[j] = students[j + 1];
students[j + 1] = temp;
}
}
}
// 输出排名
for (i = 0; i < num_students; i++) {
printf("%s: %d\n", students[i].name, students[i].total_score);
}
}
int main() {
struct student students[NUM_STUDENTS];
int i, j;
// 输入学生信息和成绩
for (i = 0; i < NUM_STUDENTS; i++) {
printf("请输入第%d名学生的姓名:", i + 1);
scanf("%s", students[i].name);
for (j = 0; j < NUM_SUBJECTS; j++) {
printf("请输入%s的第%d科成绩:", students[i].name, j + 1);
scanf("%d", &students[i].scores[j]);
}
calc_total_score(&students[i]);
}
// 输出排名
print_students(students, NUM_STUDENTS);
return 0;
}
```
这个示例代码首先定义了一个 `student` 结构体,包括学生的姓名、三科成绩和总成绩。然后,它定义了两个函数,`calc_total_score` 函数用来计算学生的总成绩,`print_students` 函数用来按照总成绩排名输出学生信息。
在 `main` 函数中,它首先使用循环输入每个学生的信息和成绩,并计算每个学生的总成绩。然后,它调用 `print_students` 函数输出排名。
希望这个示例代码可以帮助到你。