(1)为学生数据创建一个栈,学生数据包括学号,姓名,专业,英语成绩用C语言代码表示出来
时间: 2023-04-08 14:04:45 浏览: 51
可以使用以下代码创建一个学生数据的栈:
typedef struct {
int id; // 学号
char name[20]; // 姓名
char major[20]; // 专业
float score; // 英语成绩
} Student;
typedef struct {
Student data[100]; // 存储学生数据的数组
int top; // 栈顶指针
} StudentStack;
void init(StudentStack *s) {
s->top = -1;
}
int push(StudentStack *s, Student stu) {
if (s->top == 99) {
return 0; // 栈满
}
s->top++;
s->data[s->top] = stu;
return 1;
}
int pop(StudentStack *s, Student *stu) {
if (s->top == -1) {
return 0; // 栈空
}
*stu = s->data[s->top];
s->top--;
return 1;
}
int main() {
StudentStack s;
init(&s);
Student stu1 = { 1001, "张三", "计算机科学与技术", 89.5 };
push(&s, stu1);
Student stu2 = { 1002, "李四", "软件工程", 92.0 };
push(&s, stu2);
Student stu3;
pop(&s, &stu3);
printf("%d %s %s %.1f\n", stu3.id, stu3.name, stu3.major, stu3.score);
return 0;
}