用C语言编程,请编程设计下面的学生基本信息表类型Student,输入表中6个学生的7列信息项到Student数组a中,并计算这些学生的成绩之和保存到数组a的总分中。输入两个日期d1和d2,找出这两个日期(含)之间出生的所有学生并一行一个显示其所有信息项。将结果截图和代码复制来作为答案。 例如,先输入6个学生: 221001 张三 男 2004-3-15 85 95 85 221002 李四 女 2005-12-10 90 80 95 221003 王五 男 2004-4-12 75 80 80 221004 刘一 男 2003-12-5 82 88 86 221005 陈二 男 2004-1-10 80 92 85 221006 赵六 女 2005-6-18 88 85 98 再输入两个日期: 2004-3-15 2004-4-12 则显示: 221001 张三 男 2004-3-15 85 95 85 265 221003 王五 男 2004-4-12 75 80 80 235
时间: 2024-02-05 08:11:29 浏览: 62
经典c程序100例(71–80)
```
#include <stdio.h>
#include <string.h>
// 定义学生信息结构体
typedef struct {
char id[7]; // 学号
char name[20]; // 姓名
char sex[3]; // 性别
char birthday[11]; // 生日,格式为“yyyy-mm-dd”
int score[3]; // 三门课成绩
int total_score; // 总分
} Student;
int main() {
Student a[6]; // 学生信息数组
int i, j;
int sum = 0; // 所有学生总分
// 输入学生信息
for (i = 0; i < 6; i++) {
printf("请输入第%d个学生的信息:\n", i + 1);
printf("学号:");
scanf("%s", a[i].id);
printf("姓名:");
scanf("%s", a[i].name);
printf("性别:");
scanf("%s", a[i].sex);
printf("生日(格式为yyyy-mm-dd):");
scanf("%s", a[i].birthday);
printf("三门课成绩:");
scanf("%d %d %d", &a[i].score[0], &a[i].score[1], &a[i].score[2]);
a[i].total_score = a[i].score[0] + a[i].score[1] + a[i].score[2];
sum += a[i].total_score;
}
printf("所有学生总分为:%d\n", sum);
char d1[11], d2[11]; // 输入的日期
printf("请输入两个日期(格式为yyyy-mm-dd):\n");
scanf("%s %s", d1, d2);
// 按日期查找学生信息并输出
for (i = 0; i < 6; i++) {
if (strcmp(a[i].birthday, d1) >= 0 && strcmp(a[i].birthday, d2) <= 0) {
printf("%s %s %s %s %d %d %d %d\n", a[i].id, a[i].name, a[i].sex, a[i].birthday, a[i].score[0], a[i].score[1], a[i].score[2], a[i].total_score);
}
}
return 0;
}
```
阅读全文