看看这个多项式加法怎么出错了呢
不要嫌我写的不好啊
程序代码:#include<stdio.h>
#include<stdlib.h>
typedef struct {
int data[100];
int length;
}sqlist;
void display(int *p)
{
int i=0;
while(p[i]!=0)
printf("[ %d %d ] ",p[i++],p[i++]);
printf("\n");
}
void init(sqlist *&L)
{
int i;
L=(sqlist*)malloc(sizeof(sqlist));
for(i=0;i<100;i++)
L->data[i]=0;
L->length=0;
}
void add(sqlist *&L)
{
int num,index;
while(1) {
scanf("%d",&num);
scanf("%d",&index);
if(index<0)
break;
else
L->data[index]+=num;
}
while(1) {
scanf("%d",&num);
scanf("%d",&index);
if(index<0)
break;
else
L->data[index]+=num;
}
}
void save(sqlist *L,int *&p)
{
int i,j;
p=(int*) malloc( 202*sizeof(int) );
for(j=0;j<100;j+=2) {
for(i=99;i>=0;i--) {
if(L->data[i]!=0) {
p[j]=L->data[i];
p[j+1]=i;
}}}
}
int main()
{
int i,n;
sqlist *L;
scanf("%d",&n);
int *parr[100];
for(i=0;i<n;i++) {
init(L);
add(L);
save(L,parr[i]);
}
for(i=0;i<n;i++)
display(parr[i]);
free(parr[i]);
return 0;
}




