顺序表实验
实验内容
定义一个包含学生信息(学号,姓名,成绩)的顺序表,使其具有如下功能:
(1) 根据指定学生个数,逐个输入学生信息;
(2) 逐个显示学生表中所有学生的相关信息;
(3) 根据姓名进行查找,返回此学生的学号和成绩;
(4) 根据指定的位置可返回相应的学生信息(学号,姓名,成绩);
(5) 给定一个学生信息,插入到表中指定的位置;
(6) 删除指定位置的学生记录;
(7) 统计表中学生个数。
#include<stdio.h> #include<stdlib.h> #include<string.h> #define Maxsize 100 typedef struct { char xh[20]; char xm[20]; int cj; }stu; stu student[Maxsize]; void insertstus(int num) { for (int i = 0; i < num; i++) { char xm[20]; char xh[20]; int cj; gets(xm); gets(xh); scanf("%d", &cj); student[i].cj = cj; strcpy(student[i].xh, xh); strcpy(student[i].xm, xm); } } void printstu() { for (int i = 0; i < Maxsize; i++) { printf("%s,%s,%d", student[i].xh, student[i].xm, student[i].cj); } } stu findname(char *name) { for (int i = 0; i < Maxsize; i++) { if (student[i].xm == name) { return student[i]; } } } stu findstu(int i) { return student[i]; } void insertstu(stu s, int j) { for (int i = Maxsize; i >j; i--) { student[i + 1] = student[i]; } student[j] = s; } void delstu(int j) { for (int i = j; i < Maxsize; i--) { student[j] = student[j + 1]; } } int countstu() { int i = 0; while (strcmp(student[i].xh, "") != 0) { i++; } return i; }
好了,我们下回见,peace