求求大佬们救救我这个小白吧😥

有10位学生3门课的成绩如下。分别编写函数实现下列功能:

学号 姓名 高等代数 数学分析 大学英语

101 zhang 77 80 68

102 gu 80 70 50

103 zeng 79 71 54

104 li 70 60 56

105 hong 61 60 66

106 zhao 80 69 85

107 deng 90 79 72

108 he 80 78 81

109 tian 49 52 63

110 liu 67 72 76

(1)编写函数create建立一个有若干名学生数据信息(学号、姓名、成绩(3门课程的成绩))的单向动态链表;

(2)编写函数print输出动态链表,输出:学号、姓名、成绩(三门课程的成绩);(3)编写函数check查找学生信息动态链表中有没有不及格课程的学生,若有就输出该生信息;

(4)编写函数del把有课程不及格的学生信息节点予以删除,并用free函数释放所占动态存储空间。

(5)编写函数insert,用来向动态链表的表尾插入新结点(111,tan,81,71,76)(6)编写主函数,先后调用上面的函数,用来实现学生信息链表的建立及输出、删除及输出、插入及输出。

#include "stdio.h"

#define N 2
struct Student
{
	//学号
	int		num; //成员变量或者一个数据项
	//姓名
	char	name[20];
	//性别
	char	sex; //M,F
	//成绩
	float	html;	
	float	ppt;
	float	cyuyan;
	float	sum;
}st[N];
void input();
void display();
void main()
{
    input();
    display();
}
//输入函数
void input()
{
	int i;
	for(i=0;i<N;i++)
	{
		printf("请输入第%d个学生的学号,姓名,性别,html,ppt,cyuyan:",i+1);
		scanf("%d",&st[i].num);
		scanf("%s ",st[i].name);
		scanf("%c ",&st[i].sex);
		scanf("%f",&st[i].html);
		scanf("%f",&st[i].ppt);
		scanf("%f",&st[i].cyuyan);
		st[i].sum = st[i].html+st[i].ppt+st[i].cyuyan;
	}
		
}
//输出
void display()
{
	int i;
	printf("学号\t姓名\t\t性别\thtml\tppt\tC语言\t总分\t平均分\n");	
	for(i=0;i<N;i++)
	{
		printf("%d\t%s\t%c\t%0.2f\t%0.2f\t%0.2f\t%0.2f\t%0.2f\n",st[i].num,st[i].name,st[i].sex,st[i].html,st[i].ppt,st[i].cyuyan,st[i].sum,st[i].sum/3);
	}	
}

 

这也算是中等作业了啊,还是期末作业呢。

指针、链表这些,都有哪些掌握了?自己先写个大概再具体问啊

您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~

ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓

【电脑端】戳>>>  https://vip.csdn.net/askvip?utm_source=1146287632
【APP 】  戳>>>  https://mall.csdn.net/item/52471?utm_source=1146287632