# 数据结构题，学校oj平台上的，一样的输入内容，出现的结果每次都不一样

###### 数据结构题，学校oj平台上的，一样的输入内容，出现的结果每次都不一样

``````#include<stdio.h>
#include<string.h>
#include<stdlib.h>

#define OK 1;
#define OVERFLOW -1;

typedef int Status;

typedef struct LNode{
int data;
struct LNode *next;
int length;

{
if(L==NULL)
return OVERFLOW;
L->next=NULL;
L->length=0;
return OK;
}

{
for(int i=0;i<=L->length-1;i++)
{
scanf("%d",&q->data);
q->next=NULL;
p->next=q;
p=q;
}
return OK;
}

{
while(p->next!=NULL&&q->next!=NULL)
{
if(p->next->data==q->next->data)
{
s->data=p->next->data;
p=p->next;
q=q->next;
}
else
{
if(p->next->data<q->next->data)
{
s->data=p->next->data;
p=p->next;
}
else
{
s->data=q->next->data;
q=q->next;
}
}
s->next=NULL;
r->next=s;
r=s;
C->length++;
}
while(p->next)
{
s->data=p->next->data;
s->next=NULL;
r->next=s;
r=s;
C->length++;
p=p->next;
}
while(q->next)
{
s->data=q->next->data;
s->next=NULL;
r->next=s;
r=s;
C->length++;
q=q->next;
}
return OK;
}

{
while(p->next)
{
printf("%d ",p->next->data);
p=p->next;
}
return OK;
}

int main()
{
for(int i=0;;i++)
{
InitList(A);
InitList(B);
scanf("%d%d",&A->length,&B->length);
if(A->length==0&&B->length==0)
break;
else
{
InitList(C);
CreatList(A);
CreatList(B);
MergeList(A,B,C);
OutputList(C);
free(A);
free(B);
free(C);
printf("\n");
}

}
return 0;
}

``````

5 5
1 3 5 7 9
2 4 6 8 10
3 4
1 5 9
1 2 5 9
0 0

1 2 3 4 5 6 7 8 9 10
1 2 5 9

###### 运行结果

1 2 3 4 5 6 7 8 9 10

1 2 3 4 5

1 2 3 4 5 6
……

• 写回答

#### 1条回答默认 最新

• honestman_ 2022-10-15 22:59
关注
``````#include <iostream>

using namespace std;

typedef struct LNode{
int data;
struct LNode *next;

{
L = new LNode;
L->next = NULL;
}

{
for(int i=0;i<n;i++)
{
int temp;
cin>>temp;
h->data = temp;
rear->next = h;
rear = h;
}
rear->next = NULL;
}

{
while(p!=NULL)
{
cout<<p->data;
if(p->next!=NULL)
{
cout<<' ';
}
p = p->next;
}
cout<<endl;
}

{
C->next = NULL;
while(pa!=NULL&&pb!=NULL)
{
if(pa->data>pb->data)
{
pc->next = pb;
pc = pb;
pb = pb->next;
}
else if(pa->data<pb->data)
{
pc->next = pa;
pc = pa;
pa = pa->next;
}
else
{
pc->next = pa;
pc = pa;
pa = pa->next;
pb = pb->next;
}
}
if(pa!=NULL&&pb==NULL)
{
pc->next = pa;
}
if(pb!=NULL&&pa==NULL)
{
pc->next = pb;
}
print_list(C);
}

int main()
{
while(true)
{
int n,m;
cin>>n>>m;
if(n==0&&m==0)
{
break;
}
InitList(A);
InitList(B);
CreatList(A,n);
CreatList(B,m);
Merge_list(A,B);
}
}

``````
本回答被题主选为最佳回答 , 对您是否有帮助呢?
评论

• 系统已结题 10月24日
• 已采纳回答 10月16日
• 创建了问题 10月15日

#### 悬赏问题

• ¥15 调用函数时，无关变量的改变引起函数值的改变
• ¥15 xy坐标转化为经纬度坐标
• ¥15 一般三角模糊数的上界值和下届值取中值的多少比较合理？
• ¥15 关于#python#的问题，请各位专家解答！
• ¥20 Hbase启动失败，无法启动HMaster
• ¥15 sqpingboot在父模块已经引入了mybatisplus 在子组件不写版本号还是报错
• ¥20 Lumerical FDTD solutions 中模型的相对阻抗，有效介电常数和有效磁导率的实部和虚部的数据如何获得？
• ¥100 sql reporting service 远程smtp服务器配置支持
• ¥15 ppyoloe_r带角度目标检测，loss_cls没法收敛
• ¥15 淘宝交易指数如何解读，其关联的数据指标是什么