紧急求助,用c语言编写程序如下,请高手帮忙看下错哪了,急急急!!!在线等.......是创建链表后再合并的

# include "stdio.h"
#include<stdlib.h>
#include<malloc.h>
struct student {
int num;
struct student *next;
}
void print(struct student *head);
{ struct student *ptr;
if(head == NULL){
printf("\n No list\n");
return;
}
printf("\n list\n");
for (ptr = head; ptr; ptr = ptr->next)
printf(" %d %f\n", ptr->num, ptr->score);
}
main( )
{ node *La,*Lb
la=creat();print(La)
Lb=creat();print(Lb)
MergeLList_L(La,Lb);
print(La);
}

node *creat()
{node *head, *tail, *p;
int num, size = sizeof(struct student);
head=(node*)malloc(size);
head->next=NULL;
tail =head ;
while (num){
p = (node*)malloc(size);
p->num = num, p->next = NULL;
tail->next = p;
tail=tail->next
scanf("%d %f", &num);
}
return head; }
void MergeList_L(LinkList &La,LinkList &Lb,LinkList &Lc)
{
pa=La->next; pb=Lb->next; Lc=pc=La; //有头结点
while(pa&&pb) //将pa 、pb结点按大小依次插入Lc中
{ if(pa->data<=pb->data)
{pc->next=pa; pc=pa; pa=pa->next;}
else {pc->next=pb; pc=pb; pb=pb->next;}
}
pc->next = pa ? pa: pb ; //插入非空表的剩余段
free(Lb); //释放Lb的头结点
} //MergeList_L

#if 1 /* 创建链表后再合并的 */
# include "stdio.h"
#include<stdlib.h>
#include<malloc.h>

typedef struct student {
int num;
float score;
struct student *next;
}LinkList;

LinkList* creat(void);
void MergeList_L(LinkList *La,LinkList *Lb);

void print(LinkList *head)
{ LinkList *ptr;
if(head == NULL){
printf("\n No list\n");
return;
}
printf("\n list\n");
for (ptr = head->next; ptr; ptr = ptr->next)
printf(" %d \n", ptr->num);
}

void main( void )
{
LinkList *La,*Lb;
La=creat();print(La);
Lb=creat();print(Lb);
MergeList_L(La,Lb);
print(La);
}

LinkList *creat(void)
{
LinkList *head, *tail, *p;
int num, size = sizeof(struct student);
head=(LinkList*)malloc(size);
head->next=NULL;
tail =head ;
printf("input num:");
scanf("%d", &num);

while (num != 0)
{
p = (LinkList*)malloc(size);
p->num = num;
p->next = NULL;
tail->next = p;
tail=tail->next;
printf("input num:");
scanf("%d", &num);
}

return head;
}

void MergeList_L(LinkList *La,LinkList *Lb)
{
LinkList *pa,*pb,*pc;

pc = La;

pa=La->next;
pb=Lb->next;

while( (pa != NULL) || (pb != NULL) )
{
if( (pa != NULL) && ( (pa->num<=pb->num) || (pb == NULL) ) )
{
pc->next=pa;
pc=pa;
pa=pa->next;
}
else if(pb != NULL)
{
pc->next=pb;
pc=pb;
pb=pb->next;
}
}

free(Lb);
} //MergeList_L
#endif

输入
input num: 1
input num: 2
input num: 0
输出
1
2

输入
input num: 3
input num: 4
input num: 0
输出
1
2

1
2
3
4
温馨提示:内容为网友见解,仅供参考
无其他回答

紧急状况。请c语言高手帮忙解决一下。让我过个好年吧。疯了我快。
你要是给个例程或流程图就好了,我这里先给你个参考:你没有说明事先设定的密码是怎么设定的, 我暂时以123456为秘密代替,参考程序如下:include <stdio.h> include <string.h> \/\/加密\/解密算法 void JiaMiJieMi(char chDial[]){ int i;char chTemp;for (i=0; i<4; i++){ chDial[i] =...

c语言编程题,请高手帮忙做一下,拜谢,急急急急……
1.include <stdio.h> double funcPi(int);int main(void){ int arg;printf("Input the argument: ");\/\/ \/\/ 无异常输入 \/\/ while (!scanf("%d", &arg)){ printf("Check your input and retry: ");while (getchar()!='\\n'){ continue;} } while (getchar()!='\\n'){ continue...

C语言!帮忙看下我写的这个程序错在哪里了,谢谢!用的是二次插值法.
float f1=f(a1);\/\/float p;\/\/这里有重复定义的错,p已经是函数的参数了,while(1){ a2=a1+p;f2=f(a2);if(f2>=f1){ if(fabs(f2-f1)<acc)p=p\/2;else p=-p;} else break;} while(1)

[急求助]C语言程序编程题,请高手帮忙解答下!
按照题目要求编写的程序如下(见图)

请高手帮忙,用C语言输出以下程序.
include<stdio.h> void main(){ for(int i=1;i<=10;i++){ printf("%d\\t%d\\t%d\\n",i,i*i,i*i*i);} }

请高手帮忙修改下C语言代码的错误 有截图!!! 感激不敬
typedef struct BiTNode\/\/定义结构体 { char data;struct BiTNode *lchild,*rchild;}BiTree;void CreateBiTree(BiTree *T) \/\/前序创建树 { char ch;scanf("%c",&ch);if(ch==' ') T=NULL;else { T=(struct BiTNode *)malloc(sizeof(struct BiTNode));T->data=ch;CreateBiTree(T->...

c语言的基础问题菜鸟啊明天要教高手帮忙在线等啊~~
include <stdio.h> void main(){ int x,i;printf("please input a int number:");\/\/请输入一个数字:scanf("%d",x);\/\/输入数字 for (i=1,i<=9,i++){ printf("%d*%d=%d ",x,i,x*i);if(i mod 2 ==0)\/\/自动换行 printf("\/n");} } ...

怎样用C语言编写一个程序能够使系统崩溃?这是我参加笔试的一个题目,希...
\/\/不断地该系统分配内存,直到溢出,为测试这东西害我死机了,多少意思一下哦 ^0 0^ include<stdio.h> include<stdlib.h> int main(){ int *die;int t = 1;while(1){ t++;die = (int*)malloc(1024*1024*t);} return 0;}

请高手帮忙看下面C程序错在哪,老说XSQ.C(19): error C141: syntax error...
if(...) { ... } else if (...) { ... } else { ... } 总觉得你的括号不匹配。

c语言高手过来帮帮忙啊!!!多给分啊~
这个程序是谁写的啊,一点都不规范,而且还不完整,把main函数里的switch语句后加个(c)就可以正常编译运行了。程序的作用是选择要转换为阴历还是阳历,例如选择阴历好后输入一组年月日(格式例1981.11.30,在1980到2015年之间),之后程序将为你转换为阴历(1981.11.5)帮你注释了两个函数,另外两个函数的思想相同,总的来...

相似回答