4、编程题:计算平均成绩。建立一个学生的结构记录,包括学号、姓名和成绩。输入整数n(n<10),再输入n个学生的基本信息,要求计算并输出他们的平均成绩(保留2位小数)。 输入输出示例: 输入n: 3 输入第1个学生的学号、姓名和成绩: 1 zhang 70 输入第2个学生的学号、姓名和成绩: 2 wang 80 输入第3个学生的学号、姓名和成绩: 3 qian 90 平均成绩:80.00
时间: 2023-11-27 09:54:13 浏览: 89
以下是 Python 代码实现:
```python
n = int(input("输入n: "))
students = []
total_score = 0
for i in range(n):
info = input(f"输入第{i+1}个学生的学号、姓名和成绩: ")
student = info.split()
student[2] = float(student[2])
students.append(student)
total_score += student[2]
average_score = total_score / n
print(f"平均成绩:{average_score:.2f}")
```
运行示例:
```
输入n: 3
输入第1个学生的学号、姓名和成绩: 1 zhang 70
输入第2个学生的学号、姓名和成绩: 2 wang 80
输入第3个学生的学号、姓名和成绩: 3 qian 90
平均成绩:80.00
```
相关问题
用c语言建立一个结构记录,包括学号姓名和成绩,输入一个小于十的整数,再输入n个学生信息,计算平均成绩
好的,我来给你解答。
首先,我们可以定义一个结构体来记录每个学生的信息,包括学号、姓名和成绩:
```c
struct Student {
int id;
char name[20];
float score;
};
```
接着,我们可以编写一个函数来读取n个学生的信息,并计算平均成绩:
```c
#include <stdio.h>
void average_score(int n) {
struct Student s[n];
float sum = 0;
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的信息(学号、姓名、成绩):\n", i+1);
scanf("%d %s %f", &s[i].id, s[i].name, &s[i].score);
sum += s[i].score;
}
float avg = sum / n;
printf("平均成绩为:%.2f\n", avg);
}
```
在主函数中,我们可以调用这个函数来实现输入和计算:
```c
int main() {
int n;
printf("请输入学生人数:\n");
scanf("%d", &n);
average_score(n);
return 0;
}
```
完整代码如下:
```c
#include <stdio.h>
struct Student {
int id;
char name[20];
float score;
};
void average_score(int n) {
struct Student s[n];
float sum = 0;
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的信息(学号、姓名、成绩):\n", i+1);
scanf("%d %s %f", &s[i].id, s[i].name, &s[i].score);
sum += s[i].score;
}
float avg = sum / n;
printf("平均成绩为:%.2f\n", avg);
}
int main() {
int n;
printf("请输入学生人数:\n");
scanf("%d", &n);
average_score(n);
return 0;
}
```
计算平均成绩:建立一个学生的结构记录,包括学号、姓名和成绩。输入整数 n(n<10),再输入 n 个学生的基本信息,要求计算并输出他们的平均成绩(保留 2 位小数)。试编写相应程序。
好的,以下是中文回复:
题目要求我们建立一个学生的结构记录,包括学号、姓名和成绩。然后输入 n 个学生的基本信息,计算并输出他们的平均成绩(保留 2 位小数)。
我们可以先定义一个结构体,包含学号、姓名和成绩三个成员变量。然后在主函数中,先输入 n,再循环输入 n 个学生的信息,计算总成绩并累加,最后除以 n 得到平均成绩,输出即可。
下面是示例代码:
```c++
#include <iostream>
#include <iomanip> // 用于控制输出格式
using namespace std;
struct Student {
int id;
string name;
double score;
};
int main() {
int n;
double sum = 0; // 总成绩
cin >> n;
Student stu[n]; // 定义一个长度为 n 的结构体数组
for (int i = 0; i < n; i++) {
cin >> stu[i].id >> stu[i].name >> stu[i].score;
sum += stu[i].score;
}
double avg = sum / n; // 计算平均成绩
cout << fixed << setprecision(2) << avg << endl; // 控制输出格式,保留 2 位小数
return 0;
}
```