输入多个学生某一科的成绩c语言
时间: 2023-09-07 15:12:00 浏览: 64
好的,我可以通过以下代码来实现:
```
#include <stdio.h>
int main() {
int num;
printf("请输入学生人数:");
scanf("%d", &num);
float scores[num];
for (int i = 0; i < num; i++) {
printf("请输入第%d个学生的成绩:", i + 1);
scanf("%f", &scores[i]);
}
printf("学生的成绩为:\n");
for (int i = 0; i < num; i++) {
printf("第%d个学生的成绩为%.2f\n", i + 1, scores[i]);
}
return 0;
}
```
以上代码可以让用户输入学生的人数,然后依次输入每个学生的成绩,并将这些成绩存储在一个数组中。最后,程序会输出每个学生的成绩。在这个例子中,我们使用了一个 float 类型的数组来存储成绩,使用 for 循环来遍历数组并读取/输出每个元素。
相关问题
c语言如何先输入很多学生的成绩然后计算某一个学生的平均分
你可以使用一个二维数组来存储多个学生的成绩,然后根据学生的学号或姓名来计算某一个学生的平均分。下面是一个示例代码:
```c
#include <stdio.h>
#define MAX_STUDENTS 100
#define MAX_SUBJECTS 10
int main() {
int scores[MAX_STUDENTS][MAX_SUBJECTS];
int num_students, num_subjects;
int student_id, i, j;
double sum, avg;
printf("请输入学生人数和科目数:");
scanf("%d %d", &num_students, &num_subjects);
printf("请输入每个学生的成绩:\n");
for (i = 0; i < num_students; i++) {
printf("学生 %d:", i+1);
for (j = 0; j < num_subjects; j++) {
scanf("%d", &scores[i][j]);
}
}
printf("请输入要查询的学生学号:");
scanf("%d", &student_id);
sum = 0.0;
for (j = 0; j < num_subjects; j++) {
sum += scores[student_id-1][j];
}
avg = sum / num_subjects;
printf("学生 %d 的平均分为 %.2f\n", student_id, avg);
return 0;
}
```
在这个示例代码中,我们使用一个二维数组 `scores` 来存储多个学生的成绩,其中第一维表示学生的编号(下标从0开始),第二维表示科目的编号(下标也从0开始)。然后,我们通过循环输入每个学生的成绩,并且根据用户输入的学生学号来计算该学生的平均分。注意,用户输入的学号需要减去1才能对应到数组中的下标。
C语言结构体完成多个学生信息的输入输出
在 C 语言中,你可以创建一个结构体(struct)来存储多个学生的信息,如姓名、学号和成绩等。首先,定义一个名为 "Student" 的结构体,然后可以编写函数来进行输入和输出操作。
下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 定义结构体
typedef struct {
char name[50];
int student_id;
float grade;
} Student;
// 添加学生的函数
void add_student(Student* students, int num_students) {
for (int i = 0; i < num_students; i++) {
printf("请输入第 %d 个学生的姓名:", i + 1);
fgets(students[i].name, sizeof(students[i].name), stdin); // 注意这里要移除末尾的换行符
printf("请输入学号:");
scanf("%d", &students[i].student_id);
printf("请输入成绩:");
scanf("%f", &students[i].grade);
}
}
// 输出学生信息的函数
void display_students(const Student* students, int num_students) {
for (int i = 0; i < num_students; i++) {
printf("学生 %s 的学号是 %d,成绩是 %.2f\n", students[i].name, students[i].student_id, students[i].grade);
}
}
int main() {
Student students[10]; // 假设最多有10个学生
int num_students;
printf("请输入学生总数:");
scanf("%d", &num_students);
add_student(students, num_students);
display_students(students, num_students);
return 0;
}
```
这个程序会提示用户输入学生的数量和详细信息,并将数据保存在结构体数组中,最后显示所有学生的记录。