?? 4-4-1.c
字號:
/*中國系統分析員顧問團,http://www.csai.cn*/
/*程序員下午考試指南書籍源碼*/
#include "stdio.h"
#include "malloc.h"
typedef struct poly {
int coef;
int index;
struct poly *next;
} POLYNOME;
POLYNOME *blist(POLYNOME *ptr){
int i,j,k,finished;
POLYNOME *ptr1,*r;
finished = 0;
ptr = (POLYNOME*)calloc( 1,sizeof(ptr) );
ptr->coef = 0;
ptr->index = -1;
ptr->next = ptr;
r = ptr;
while ( finished == 0 ){
ptr1 = ( POLYNOME* )calloc( 1,sizeof(ptr1) );
scanf( "%d%d%d%d",&ptr1->coef,&i,&j,&k);
ptr1->index = i*100+j*10+k;
r->next = ptr1;
r = ptr1;
printf( "finished;?\n" );
scanf( "%d",&finished );
}
r->next = ptr;
return(ptr);
}
polyadd(POLYNOME *p, POLYNOME *q){
POLYNOME *q1,*q2;
p = p->next;
q1 = q;
q = q->next;
while ( p->index >= 0 ){
while ( p->index < q->index ) {
q1 = q;
q = q->next;
}
if (p->index == q->index) {
q->coef += p->coef;
if ( q->coef == 0){
q2=q;
q1->next = q->next;
q = q->next;
free((char*)q2);
p = p->next;
}
else{
q1 = q;
p = p->next;
q = q->next;
}
}
else{
q2 = ( POLYNOME *)calloc(1,sizeof(q2));
q2->coef = p->coef;
q2->index = p->index;
q1->next = q2;
q2->next = q;
q1 = q2;
p = p->next;
}
}
}
main(){
POLYNOME *p, *q, *blist();
p = blist(p);
q = blist(q);
polyadd(p,q);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -