亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

動態鏈表錯哪了?

動態鏈表錯哪了?

溯源1 2017-02-01 12:43:12
#include "stdio.h"#include<malloc.h>#include<string.h>#include<ctype.h>#define LEN struct studentstruct student{ long num; float score; struct student*next;};struct student*create(){ char ch;? ? struct student *head;? ? struct student*p1,*p2;? ? int a=0;? ? printf("是否輸入新數據:\n");? ?? ? ?while(toupper(ch=getchar())=='Y')? ? {? ? ? p1=(LEN*)malloc(sizeof(LEN));? ? ? printf("num:");? ? ? scanf("%ld",&(*p1).num);? ? ? printf("score:");? ? ? scanf("%d",&(*p1).score);? ? ? getchar();//getchar吸收回車? ? ? printf("是否輸入新數據:\n");? ? ? a++;? ? ? if(a==1)? ? ? ?head=p1;? ? ? else ? ? ? ?(*p2).next=p1;? ? ? p2=p1;? ? ? p1->next=NULL;? ? ? }? ? return(head);}struct student * insert(struct student * head){? ? struct student *p0,*p1,*p2;? ? p0=(struct student * )malloc(sizeof(LEN));? ? printf("\n輸入所要插入節點的數據:");? ? scanf("%ld,%f",&p1->num,&p1->score);? ? p1=head;? ? if(head==NULL)? ? {? ? ? head=p0;? ? ? p0->next=NULL;? ? }? ? else? ? if(p1->num>p0->num)? ? {? ? p0->next=head;? ? head=p0;? ? }? ? else? ? {? ? while(p1!=NULL)? ? {? ? if(p1->num<p0->num)? ? {? ? p2=p1;? ? p1=p1->next;? ? }? ? else? ? {? ? p0->next=p1;? ? p2->next=p0;? ? break;? ? }? ? }? ? if(p1->next==NULL)? ? {? ? p0->next=NULL;? ? p2->next=p0;? ? }? ? ? ? }? ? return(head); ??}void print(struct student *head){ struct student *p; p=head; while(p!=NULL) { printf("\n學生學號:%d,成績:%4.1f",p->num,p->score);//只是一個名 p=p->next;//測試隨便輸 }}void main( ){ struct student *stu; stu=create(); stu=insert(stu); print(stu);}
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 1394 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號