某班的学生成绩如下表所示
学号 姓名 性别 班级 数学 英语 计算机
090092 边晓楠 女 数学 091 68 85 80
090093 陈红慧 女 数学 091 58 55 60
090094 陈卓 女 数学 091 54 67 78
090097 江婧 女 数学 091 30 66 80
090098 冷子慧 女 数学 091 66 78 72
090010 李美威 女 数学 091 66 87 86
090101 李鹏宇 女 数学 091 77 90 55
090104 刘学静 女 数学 091 73 78 81
090177 赵鹏飞 男 数学 091 68 71 69
090178 郑浩 男 数学 091 67 54 83
(1)定义一个结构体,并使用结构体的方式保存这些数据。
(2)使用结构体的方式读取打印学号为 090098 与 090010
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- struct student {
- char id[10];
- char name[20];
- char sex[5];
- char grade[10];
- int math;
- int english;
- int computer;
- };
- int main(void) {
- int i;
- struct student score[10];
- printf("学号 姓名 性别 班级 数学 英语 计算机\n");
- for(i=1; i<=10; i++) {
- scanf("%s %s %s %s %d %d %d",score[i].id,score[i].name,score[i].sex,
- score[i].grade,&score[i].math,&score[i].english,&score[i].computer);
- }
- printf("\n");
- printf("学号为 090098 与 090010 同学分别信息为:\n\n");
- printf("学号 姓名 性别 班级 数学 英语 计算机\n");
- const char *a="090098",*b="090010";
- for(i=1; i<=10; i++) {
- if(strcmp((score[i].id),a)==0||strcmp((score[i].id),b)==0) {
- printf("%s %s %s %s %d %d %d\n",score[i].id,score[i].name,score[i].sex,
- score[i].grade,score[i].math,score[i].english,score[i].computer);
- }
- }
- return 0;
- }