分别用顺序表和单链表的存储形式实现将输入的两个大整数(超过20位)

2020-07-24 财经 149阅读
具体代码如下:
#include
#include
#define MAX 80

typedef struct node
{
int data;
struct node *next;
}N;

N *head=(N *)malloc(sizeof(N));//创建头结点

void Creat()
{
N *p;//用于插入新节点
N *r=head;//尾指针 开始指向头结点

printf("请输入任意个数据(用回车结束输入、空格间隔:1 2 3……)\n:");
do{
p=(N *)malloc(sizeof(N));
scanf("%d",&p->data);
r->next=p;
r=p;
}while(getchar()!='\n');

r->next=NULL;
}

void Disp()//实现顺序输出和逆序输出
{
N *p=head->next;//用于遍历单链表
int a[MAX];
int i=0,j;

printf("顺序输出:\n");
while(p)
{
printf("%d ",p->data);
a[i]=p->data;
p=p->next;
i++;
}
printf("\n逆序输出:\n");
for(j=i-1;j>=0;j--)
printf("%d ",a[j]);
printf("\n");
}
void main()
{
Creat();
Disp();
}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com