为了账号安全,请及时绑定邮箱和手机立即绑定

作业社区

探索学习新天地,共享知识资源!

0 提交作业
0 布置作业
0 满分作业
得分 100
学习任务

慕哥8499003 的学生作业:

#include "seqlist.h" int main() { seqlist_t *l = create_empty_seqlist(); int data = 0,ret = 0; printf("\t\t\t姓名\tid\t年龄(用空格隔开)\n"); while(!is_full_seqlist(l)) { insert_data_seqlist(l); } printf_data_seqlist(l); printf("===========================================\n"); printf("请输入你想删除第几位学生的信息:"); scanf("%d",&data); ret = delete_data_seqlist(l,data); if(ret < 0) { printf("没有你所输入的信息:\n"); return -1; } printf_data_seqlist(l); free(l); l = NULL; return 0; } #include “seqlist.h” //1.创建一个空的顺序表,为结构体在堆区分配空间 seqlist_t *create_empty_seqlist() { seqlist_t *l = (seqlist_t *)malloc(sizeof(seqlist_t)); if(NULL == l) { printf(“malloc is fail!\n”); return NULL; } memset(l,0,sizeof(seqlist_t)); l->n = 0; return l; } //2.插入数据 void insert_data_seqlist(seqlist_t *l) { while (1) { printf(“请输入第%d位学生信息:”,l->n + 1); if(scanf("%19s%d%d",l->buf[l->n].name,&l->buf[l->n].id,&l->buf[l->n].age) != 3) { printf(“非法输入!请输入正确信息\n”); while(getchar() != ‘\n’); continue; } break; } l->n ++; return; } //3.输出数据 void printf_data_seqlist(seqlist_t *l) { int i = 0; for(i = 0;i < l->n;i++) { printf("第%d位学生信息\t姓名:%s\tid:%d\t年龄:%d\n",i + 1,l->buf[i].name,l->buf[i].id,l->buf[i].age); } printf("\n"); } //4.判断顺序表是否满了,满了返回1,否则返回0 int is_full_seqlist(seqlist_t *l) { return l->n == MAX ? 1 : 0; } //5.判断顺序表是否为空 int is_empty_seqlist(seqlist_t *l) { return l->n == 0 ? 1 : 0; } //6.删除元素 int delete_data_seqlist(seqlist_t *l,int data) { if(is_empty_seqlist(l)) { return -1; } int i = 0,j = 0; for(i = 0;i < l->n;i++) { if(i + 1 != data) { l->buf[j++] = l->buf[i]; } } l->n = j; if(i == j) { return -2; }else{ printf("已删除第%d位学生的信息\n",data); } return 0; } #ifndef __SEQLIST_H__ #define __SEQLIST_H__ #include #include #include #define MAX 10 //实际学⽣的存储 struct student { char name[20]; int id; int age; }; typedef struct student datatype_t; extern int data; extern int ret; typedef struct{ datatype_t buf[MAX]; //定义数组记录班级学⽣每个学⽣的信息。 int n; //学⽣实际到来的个数。 }seqlist_t; extern seqlist_t *create_empty_seqlist(); extern int is_full_seqlist(seqlist_t *l); extern void insert_data_seqlist(seqlist_t *l); extern void printf_data_seqlist(seqlist_t *l); extern int is_empty_seqlist(seqlist_t *l); extern int delete_data_seqlist(seqlist_t *l,int data); #endif

首页上一页1234567下一页尾页
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号