完成下列程序,该程序计算10名学生的平均成绩。 #include <stdio.h> struct student { int num; char name[20]; int score; }; struct student stud[10]; int main(void) { int i, sum = 0 ; for(i = 0; i < 10; i++){ scanf("%d%s%d", &stud[i].num, , &stud[i].score); sum += stud[i].score; } printf("aver=%d\n", sum/10); return 0; }
时间: 2024-03-07 10:46:29 浏览: 138
下面是完成的程序:
```c
#include <stdio.h>
struct student {
int num;
char name[20];
int score;
};
struct student stud[10];
int main(void) {
int i, sum = 0;
for(i = 0; i < 10; i++) {
scanf("%d%s%d", &stud[i].num, stud[i].name, &stud[i].score);
sum += stud[i].score;
}
printf("aver=%d\n", sum/10);
return 0;
}
```
程序的主要思路是定义一个学生结构体类型,其中包含学生的学号、姓名和成绩。然后定义一个包含10个学生结构体的数组。在主函数中,使用循环输入10名学生的信息,包括学号、姓名和成绩,并计算总分。最后,输出10名学生的平均分数。需要注意的是,scanf函数中的格式化字符串中应该加上%s来输入字符串类型的姓名。
相关问题
完成下列程序,该程序计算10名学生的平均成绩 输入答案 。 #include<stdio.h> #include<string.h> struct student { int num; char name[20]; int score; }; struct student stud[10]; int main(void) { int i,sum=0; for(i=0;i<10;i++) { scanf("%d%s%d",&stud[i].num, ,&stud[i].score); sum+=stud[i].score; } printf("aver=%d\n",sum/10); return 0; }
下面是完成后的程序:
```c
#include <stdio.h>
#include <string.h>
struct student {
int num;
char name[20];
int score;
};
struct student stud[10];
int main(void) {
int i, sum = 0;
for (i = 0; i < 10; i++) {
scanf("%d%s%d", &stud[i].num, stud[i].name, &stud[i].score);
sum += stud[i].score;
}
printf("aver=%d\n", sum / 10);
return 0;
}
```
程序中定义了一个结构体类型`student`,包含学号、姓名和成绩三个成员变量。在`main`函数中定义了一个包含10个`student`类型元素的数组`stud`,用于存储10个学生的信息。程序首先通过循环依次读入10个学生的信息,并将学生的成绩累加到变量`sum`中。最后输出`sum`除以10的结果,即10名学生的平均成绩。注意,`scanf`函数中的格式串应当为`"%d%s%d"`,其中`%s`对应字符串类型的姓名。
#include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_SIZE 100 // 学生信息结构体 typedef struct { char num[10]; // 学号 char name[10]; // 姓名 char clas[10]; // 班级 char sex[10]; // 性别 float score; // 成绩 } Student; // 学生信息数组 Student studentList[MAX_SIZE]; int size = 0; 帮我添加一个可以查询学生成绩最大值和最小值的分函数代码
可以添加以下代码来实现查询学生成绩最大值和最小值的函数:
```c
// 查询学生成绩最大值和最小值
void findMinMaxScore() {
float maxScore = 0, minScore = 100;
for (int i = 0; i < size; i++) {
if (studentList[i].score > maxScore) {
maxScore = studentList[i].score;
}
if (studentList[i].score < minScore) {
minScore = studentList[i].score;
}
}
printf("成绩最高的学生信息:\n");
for (int i = 0; i < size; i++) {
if (studentList[i].score == maxScore) {
printf("学号:%s 姓名:%s 班级:%s 性别:%s 成绩:%.2f\n",
studentList[i].num, studentList[i].name,
studentList[i].clas, studentList[i].sex,
studentList[i].score);
}
}
printf("成绩最低的学生信息:\n");
for (int i = 0; i < size; i++) {
if (studentList[i].score == minScore) {
printf("学号:%s 姓名:%s 班级:%s 性别:%s 成绩:%.2f\n",
studentList[i].num, studentList[i].name,
studentList[i].clas, studentList[i].sex,
studentList[i].score);
}
}
}
```
在主函数中,可以通过调用该函数来查询学生成绩最大值和最小值:
```c
int main() {
// 添加学生信息
// ...
// 查询学生成绩最大值和最小值
findMinMaxScore();
return 0;
}
```
阅读全文