ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 2026/5/24 17:47:47ÐÇÆÚÒ» ÏÂÃæÊÇÎÄÕµÄÈ«²¿ÄÚÈÝÇëÈÏÕæÔĶÁ¡£
{ if(h1->next!=0) { p1->prior->data-=1; p1->data+=10000; } } p1=p1->prior; }
if(h1->next->data>=10000) //´¦Àí×îÇ°ÃæµÄÊý { InsertNode(h1,0,h1->next->data/10000); h1->next->next->data%=10000; } if(h1->data<=-10000)
{ InsertNode(h1,0,h1->next->data/10000); h1->next->next->data%=-10000; } PrintNode(h1); }
void jian(DLNode *h1,DLNode *h2) //Á½ÊýÏà¼õ { DLNode *p1=h1->prior,*p2=h2->prior; while(p1!=h1&&p2!=h2) //ÿ¸öÁ´±íÔªËØÏà¼õ { p1->data-=p2->data ; p1=p1->prior; p2=p2->prior; } p1=h1->prior;
while(p1!=h1->next) //´¦ÀíÁ´±íÔªËØ { if(p1->data>=10000)
{ p1->prior->data+=p1->data/10000; p1->data%=10000; }
if(p1->data<0) //´¦Àí¸ºÊý { if(h1->next!=0) { p1->prior->data-=1; p1->data+=10000; } } p1=p1->prior; }
if(h1->next->data>=10000) //´¦Àí×îÇ°ÃæµÄÊý { InsertNode(h1,0,h1->next->data/10000); h1->next->next->data%=10000; } if(h1->data<=-10000)
{ InsertNode(h1,0,h1->next->data/-10000); h1->next->next->data%=-10000; } PrintNode(h1); }
int main() //Èë¿Úº¯Êý {
DLNode *head1,*head2; InitNode(&head1); InitNode(&head2);
char data1[N],data2[N]; char d1[10],d2[10]; int i,j,k; int xun; while(1)
{ printf(\ÊäÈëÊý¾Ý£º\\n\scanf(\ InitNode(&head1); InitNode(&head2); i=0;k=0;
while(data1[i]!=';') //½«Êý1ÓÃÁ´±í´¢´æ {
for(j=0;j<10;j++) d1[j]=0; j=0;
while(data1[i]!=';'&&data1[i]!=',') d1[j++]=data1[i++]; if(data1[i]==',') i++;
if(data1[0]=='-') //´¦ÀíÕý¸ºÊý
j=-(int)fabs(atoi(d1));//½«×Ö·û´®×ª»»³ÉÕûÊý else j=atoi(d1);
InsertNode(head1,k++,j); }
i=0; k=0;
while(data2[i]!=';') //½«Êý2ÓÃÁ´±í´¢´æ {
for(j=0;j<10;j++) d2[j]=0; j=0;
while(data2[i]!=';'&&data2[i]!=',') d2[j++]=data2[i++]; if(data2[i]==',') i++;
if(data2[0]=='-') //´¦ÀíÕý¸ºÊý j=-(int)fabs(atoi(d2)); else j=atoi(d2);
InsertNode(head2,k++,j); }
printf(\Ñ¡Ôñ¼Ó¼õ·¨£º1¡ª¼Ó·¨£¬2-¼õ·¨\\n\ scanf(\ switch(xun) {
case 1:if(strlen(data1)>strlen(data2)) //½Ï³¤µÄÊý×÷Ϊ±»¼ÓÊý add(head1,head2); else add(head2,head1); break;
case 2:if(strlen(data1)>strlen(data2)) //½Ï³¤µÄÊý×÷Ϊ±»¼õÊý jian(head1,head2); else jian(head2,head1); break;
default:break; }
DestroyNode(&head1); DestroyNode(&head2); } return 0; }