计算平均成绩:建立一个学生的结构记录,包括学号、姓名和成绩。输入整数 n(n<10),再输入 n 个学生的基本信息,要求计算并输出他们的平均成绩(保留 2 位小数)。试编写相应程序。c语言
时间: 2024-03-01 14:52:47 浏览: 30
以下是使用C语言实现的代码:
```c
#include <stdio.h>
struct student
{
int id;
char name[20];
float score;
};
int main()
{
int n, i;
float sum = 0.0, avg;
struct student s[10];
printf("请输入学生数:");
scanf("%d", &n);
for(i = 0; i < n; i++)
{
printf("请输入第 %d 个学生的学号、姓名和成绩:", i + 1);
scanf("%d %s %f", &s[i].id, s[i].name, &s[i].score);
sum += s[i].score;
}
avg = sum / n;
printf("平均成绩为:%.2f\n", avg);
return 0;
}
```
其中,定义了一个名为`student`的结构体,包括学号、姓名和成绩。使用`scanf()`函数输入整数`n`,然后使用`for`循环输入`n`个学生的信息,并且累加成绩`score`到变量`sum`中。最后,计算平均成绩`avg`,并且输出结果。用`%.2f`控制小数点位数为2位。
相关问题
计算平均成绩:建立一个学生的结构记录,包括学号、姓名和成绩。输入整数 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;
}
```
用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;
}
```