#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct stud_node{
int num;
char name[20];
int score;
struct stud_node *next; /*定义结构类型变量 stud_node为全局变量*/
};
struct stud_node *Creat_Stu_Doc();
struct stud_node *DeleteDoc(struct stud_node *head,int min_score);
void Ptrint_Stu_Doc(struct stud_node *head);
void main()
{
struct stud_node *head;
int min_score;
head=Creat_Stu_Doc();
scanf("%d",&min_score);
head=DeleteDoc(head,min_score);
Ptrint_Stu_Doc(head);
}
struct stud_node *Creat_Stu_Doc()
{
struct stud_node *head,*tail, *p;
int num, score;
char name[20];
int size = sizeof(struct stud_node);
head=tail=NULL;
scanf("%d",&num);
while(num != 0){
scanf("%s%d",name,&score);
p=(struct stud_node*)malloc(size);
p->num=num;
strcpy(p->name,name);
p->score=score;
p->next=NULL;
if(head==NULL)
head=p;
else
tail->next=p;
tail=p;
scanf("%d",&num);
}
return head;
}
struct stud_node *DeleteDoc(struct stud_node *head,int min_score)
{
struct stud_node*ptr1,*ptr2;
while(head!=NULL&&head->score<min_score){
ptr2=head;
head=head->next;
free(ptr2);
}
if(head==NULL)
return NULL;
ptr1=head;
ptr2=head->next;
while(ptr2!=NULL){
if(ptr2->score<min_score){
ptr1->next=ptr2->next;
free(ptr2);
}
else
ptr1=ptr2;
ptr2=ptr1->next;
}
return head;
}
void Ptrint_Stu_Doc(struct stud_node *head)
{
struct stud_node*ptr;
if(head==NULL){
printf("\nNo Records\n");
return;
}
for(ptr=head; ptr; ptr=ptr->next)
printf("%d %s %d\n", ptr->num,ptr->name,ptr->score);
}
...姓名和成绩),输入学号为0时输入结束。建立一个单向链表,再输入一...
include<stdlib.h> include<string.h> struct stud_node{ int num;char name[20];int score;struct stud_node *next; \/*定义结构类型变量 stud_node为全局变量*\/ };struct stud_node *Creat_Stu_Doc();struct stud_node *DeleteDoc(struct stud_node *head,int min_score);void Ptrint_S...
输入若干个学生信息(学号 姓名 成绩) 输入学号为0时输入结束 建立一个...
2、定义两个student类型的变量,保存所有学生的成绩信息和临时变量。3、定义一个自定义函数,输入学生的成绩信息。4、具体实现学生信息的输入,并计算总分。5、主函数中,先定义4个整型变量,保存学生的总数,以及控制循环的变量。6、接着,输入学生总数,保存在变量n中。7、运行程序查看最后结果。注意事...
建立一个链表,记录学生的姓名,学号和成绩,
2008-06-12 输入若干个学生信息(学号 姓名 成绩) 输入学号为0时输入结... 19 2013-12-24 建立一个学生信息链表,每个结点包括:学号、姓名、成绩。实现链... 1 2015-12-12 建立一个学生数据链表,每个结点信息包括如下内容:学号,姓名,... 3 2013-01-03 编写一个实现学生信息单链表各种操作的类,学生信...
用C语言编写一个学生管理系统。
printf("[1] 输入所有学生信息\\n"); printf("[2] 输出所有学生成绩\\n"); printf("[3] 按学号查找某个学生信息\\n"); printf("[4] 按姓名查找某个学生信息\\n"); printf("[5] 按学号对学生排序\\n"); printf("[6] 按总成绩对学生排序\\n"); printf("[7] 按学号修改某个学生信息\\n"); printf...
为什么约定如果输入学号为0,则表示建立链表的过程已完成
要想停止开辟,只要输入学号为0即可.不过此时要有一点要注意的:即然有了输入,也就是说这个结点已经开辟了,但是学号为0只是一个结束条件,并不是真正的学生号,所以它不应该被链入链表中.所以应该让该结点的前一个结点的结构体指针置空.即:p2->next=NULL.此时结束了整个链表的建立.
学生成绩管理系统课程设计
printf("\\n请输入第%d名学生的学号,学号为0表示结束输入:",n+1); scanf("%d",&flag);while(getchar()!='\\n');for(;flag;) { n++; p1=(Student *)malloc(LEN); p1->num=flag; printf("请输入第%d名学生的姓名:",n); scanf("%s",p1->name); printf("请输入第%d名学生的语文成绩:",n...
C语言程序设计 链表的综合操作(急)
用C语言编写一个程序,通过链表的建立、输出、删除、插入等基本操作,实现学生成绩管理,从键盘输入学生信息,学生信息用结构体表示,包括学号、姓名、三门课成绩:语文、数学、英语。二、课程设计目标和要求必做:1. 插入功能:在学生链表中插入一个学生的信息,要求插入后仍然保持学号有序。2. 删除功能:要求输入指定的...
单向链表我设置输入学号0为终止输入条件 但在该程序中不起作用,为什么...
while中的 printf("请输入学生的学号姓名和成绩:");应为printf("请输入学生的学号姓名和成绩:",n+1);掉了n+1,其实对程序没有影响,只是为了提示当前输入的是第几条记录。。
用链表编写一个C语言程序:输入多名学生的学号,姓名和两门课的成绩,并...
C语言编程语言 用链表编写一个C语言程序:输入多名学生的学号,姓名和两门课的成绩,并实现删除和查询功能数组,链表,指针可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。c语言程序链表学生成绩
【高分】帮忙用汇编语言做一个程序:学生成绩统计
; 1、本程序定义:姓名最多个20个字符,学号最多10个字符,成绩最多3位数字; 2、输入学生信息时,各信息足位时,自动结束;不足位数时,按回车键结束; 3、输入姓名时,若直接回车,表示结束学生信息输入,进入信息处理; 本程序在MASMPlus 1.2集成环境下通过编译,经过调试,运行正确。Code Segment Assume CS:Code,DS:...