📄 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
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -