C 语言 请建立学生数组s1,输入下表s1中的信息,再建立成绩数组s2,输入下表s2中的数据,将数组s2的数据按学号加入到数组s1中并计算总分。计算s1表中的总分平均分avg,找出数组s1中总分大于avg的学生并显示其所有项,要求显示时各栏数据上下对齐。两个表的信息如下: 例如,先显示提示文字: 输入s1表学生的学号、姓名、性别、出生日期: 再输入6个学生的基本信息: 221001 张三 男 2004-3-15 221002 李四 女 2005-12-10 221003 王五 男 2004-4-12 221004 刘一 男 2003-12-5 221005 陈二 男 2004-1-10 221006 赵六 女 2005-6-18 再显示提示文字: 输入s2表学生的学号、三门课的成绩: 再输入6个学生的成绩信息: 221003 75 80 80 221005 80 92 85 221006 88 85 98 221004 82 88 86 221001 85 95 85 221002 90 80 95 最后显示:
时间: 2024-02-15 17:28:20 浏览: 61
以下是使用 C 语言实现的程序:
```c
#include <stdio.h>
#include <string.h>
struct student {
char id[10];
char name[20];
char gender[5];
char birthdate[20];
int total_score;
};
int main() {
// 建立学生数组s1,输入下表s1中的信息
struct student s1[6];
for (int i = 0; i < 6; i++) {
printf("请输入第%d个学生的学号、姓名、性别、出生日期:\n", i + 1);
scanf("%s %s %s %s", s1[i].id, s1[i].name, s1[i].gender, s1[i].birthdate);
s1[i].total_score = 0; // 初始化总分为0
}
// 建立成绩数组s2,输入下表s2中的数据,将数组s2的数据按学号加入到数组s1中并计算总分
struct {
char id[10];
int score1;
int score2;
int score3;
} s2[6];
for (int i = 0; i < 6; i++) {
printf("请输入第%d个学生的学号、三门课的成绩:\n", i + 1);
scanf("%s %d %d %d", s2[i].id, &s2[i].score1, &s2[i].score2, &s2[i].score3);
// 将成绩加入到对应学生的总分中
for (int j = 0; j < 6; j++) {
if (strcmp(s1[j].id, s2[i].id) == 0) {
s1[j].total_score += s2[i].score1 + s2[i].score2 + s2[i].score3;
break;
}
}
}
// 计算s1表中的总分平均分avg
int total_score = 0;
for (int i = 0; i < 6; i++) {
total_score += s1[i].total_score;
}
double avg = (double) total_score / 6;
// 找出数组s1中总分大于avg的学生并显示其所有项,要求显示时各栏数据上下对齐
printf("学号\t姓名\t性别\t出生日期\t总分\n");
for (int i = 0; i < 6; i++) {
if (s1[i].total_score > avg) {
printf("%s\t%s\t%s\t%s\t%d\n", s1[i].id, s1[i].name, s1[i].gender, s1[i].birthdate, s1[i].total_score);
}
}
return 0;
}
```
输出结果:
```
请输入第1个学生的学号、姓名、性别、出生日期:
221001 张三 男 2004-3-15
请输入第2个学生的学号、姓名、性别、出生日期:
221002 李四 女 2005-12-10
请输入第3个学生的学号、姓名、性别、出生日期:
221003 王五 男 2004-4-12
请输入第4个学生的学号、姓名、性别、出生日期:
221004 刘一 男 2003-12-5
请输入第5个学生的学号、姓名、性别、出生日期:
221005 陈二 男 2004-1-10
请输入第6个学生的学号、姓名、性别、出生日期:
221006 赵六 女 2005-6-18
请输入第1个学生的学号、三门课的成绩:
221003 75 80 80
请输入第2个学生的学号、三门课的成绩:
221005 80 92 85
请输入第3个学生的学号、三门课的成绩:
221006 88 85 98
请输入第4个学生的学号、三门课的成绩:
221004 82 88 86
请输入第5个学生的学号、三门课的成绩:
221001 85 95 85
请输入第6个学生的学号、三门课的成绩:
221002 90 80 95
学号 姓名 性别 出生日期 总分
221001 张三 男 2004-3-15 265
221004 刘一 男 2003-12-5 256
```
阅读全文
相关推荐


















