c语言删除学生信息不用链表,c语言数据结构:用链表追加删除学生信息,我编写的追加学生信息程序? 爱问知识人...

c语言数据结构:用链表追加删除学生信息,我编写的追加学生信息程序,不知道哪里错了,希望大神指点每个学生的成绩信息包括:学号、 语文、数学、英语、总分、加权平均分;采用链表存储若干学生的成绩信息:可以在链表末尾追加新学生的成 绩信息;可以根据学号,删除该学生的成绩信 息。 #in

c语言数据结构:用链表追加删除学生信息,我编写的追加学生信息程序,不知道哪里错了,希望大神指点每个学生的成绩信息包括:学号、 语文、数学、英语、总分、加权平均分;采用链表存储若干学生的成绩信息:可以在链表末尾追加新学生的成 绩信息;可以根据学号,删除该学生的成绩信 息。 #include #include typedef struct student_i... 每个学生的成绩信息包括:学号、 语文、数学、英语、总分、加权平均分;采用链表存储若干学生的成绩信息:可以在链表末尾追加新学生的成 绩信息;可以根据学号,删除该学生的成绩信 息。

#include

#include

typedef struct student_infor

{int studentID; float chinese;float math;float English;float sum;float P_avarage;struct student_infor *next;}student;

student*input(int n)

{

int i;student*p,*stu;

for(i=0,stu=NULL;istudentID,&p->chinese,&p->math,&p->English);

p->sum=(p->chinese) (p->math) (p->English);

p->P_avarage=(p->chinese)*0.3 (p->math)*0.5 (p->English)*0.2;

p->next=stu;

stu=p;}

return stu;}

void output(student*p)

{

printf("输出学生信息:

");

printf("学生学号:%d",p->studentID);

printf("语文成绩:%.1f",p->chinese);

printf("数学成绩:%.1f",p->math);

printf("英语成绩:%.1f",p->English);

printf("总分:%.1f",p->sum);

printf("加权平均分:%.1f",p->P_avarage);

}

void visit(student* stu,void(*fun)())

{student *p;

for(p=stu;p!=NULL;p=p->next)

{(*fun)(p);}

}

void delect(student*p,int ID)

{printf("请输入需要删除的学生学号:

");

scanf("%d",&ID);

student*t=NULL,*s=NULL;

s=p;

t=p->next;

while(t)

{

if((t->studentID)==ID)

{s->next=t->next;}

else{t=t->next;s=s->next;}}

}

int main()

{

int n,m,ID;student*p,*stu;

printf("请输入需要录入的学生人数:

");

scanf("%d",&n);

stu=input(n);

delect(p,ID);

visit(stu,output);

return 0;

} 展开

展开

全部

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值