顺序表实验

实验内容

定义一个包含学生信息(学号,姓名,成绩)的顺序表,使其具有如下功能:

(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

posted @ 2020-08-31 19:30  野评测  阅读(456)  评论(0编辑  收藏  举报