| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1588 人关注过本帖
标题:c语言程序设计基础求解谢谢
只看楼主 加入收藏
唐ran
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2018-4-21
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
c语言程序设计基础求解谢谢
输入若干个学生信息(包括学号、姓名和成绩),输入学号为0时输入结束,建立一个单向链表,再输入一个成绩值,将成绩大于等于该值的学生信息输出。
输入输出示例:
1    Zhang    78
2    Wang    80
3    Li        75
4    Zhao    85
0    0        0
80
2    Wang    80
4    Zhao    85


[此贴子已经被作者于2018-4-22 09:58编辑过]

搜索更多相关主题的帖子: c语言 程序设计 基础 输入 成绩 
2018-04-21 20:54
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:15 
#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);

int 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);

}
2018-04-21 21:57
唐ran
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2018-4-21
收藏
得分:0 
回复 2楼 自学的数学
好的,谢谢,感觉好长
2018-04-21 23:40
唐ran
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2018-4-21
收藏
得分:0 
回复 2楼 自学的数学
好的,谢谢,感觉好长
2018-04-21 23:42
唐ran
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2018-4-21
收藏
得分:0 
回复 4楼 唐ran
这个有点问题,不知道哪里出错了,还有精炼的吗
2018-04-22 08:21
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:2 
只要就可以正常运行,看得懂,就可以了。
2018-04-22 10:08
唐ran
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2018-4-21
收藏
得分:0 
编译没错,但是运行不出来,输入数之后有错误
2018-04-22 10:21
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:3 
没问题,你可以正常运行。
图片附件: 游客没有浏览图片的权限,请 登录注册
2018-04-22 10:29
唐ran
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2018-4-21
收藏
得分:0 
回复 8楼 自学的数学
哦哦,可能我搞错了,谢谢你了
2018-04-22 13:00
快速回复:c语言程序设计基础求解谢谢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028883 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved