1.16
void print_descending(int x,int y,int z)//°´´Ó´óµ½Ð¡Ë³ÐòÊä³öÈý¸öÊý {
scanf(\
if(x
if(x
Status fib(int k,int m,int &f)//Çók½×ì³²¨ÄÇÆõÐòÁеĵÚmÏîµÄÖµf {
int tempd;
if(k<2||m<0) return ERROR; if(m else if (m==k-1) f=1; else { for(i=0;i<=k-2;i++) temp=0; temp[k-1]=1; //³õʼ»¯ for(i=k;i<=m;i++) //Çó³öÐòÁеÚkÖÁµÚm¸öÔªËØµÄÖµ { sum=0; for(j=i-k;j f=temp[m]; } return OK; }//fib ·ÖÎö:ͨ¹ý±£´æÒѾ¼ÆËã³öÀ´µÄ½á¹û,´Ë·½·¨µÄʱ¼ä¸´ÔӶȽöΪO(m^2).Èç¹û²ÉÓõݹé±à³Ì(´ó¶àÊýÈ˶¼»áÊ×ÏÈÏëµ½µÝ¹é·½·¨),Ôòʱ¼ä¸´ÔӶȽ«¸ß´ïO(k^m). 1.18 typedef struct{ char *sport; enum{male,female} gender; char schoolname; //УÃûΪ'A','B','C','D'»ò'E' char *result; int score; } resulttype; typedef struct{ int malescore; int femalescore; int totalscore; } scoretype; void summary(resulttype result[ ])//Çó¸÷УµÄÄÐÅ®×Ü·ÖºÍÍÅÌå×Ü·Ö,¼ÙÉè½á¹ûÒѾ´¢´æÔÚresult[ ]Êý×éÖÐ { scoretype score; i=0; while(result.sport!=NULL) { switch(result.schoolname) { case 'A': score[ 0 ].totalscore+=result.score; if(result.gender==0) score[ 0 ].malescore+=result.score; else score[ 0 ].femalescore+=result.score; break; case 'B': score.totalscore+=result.score; if(result.gender==0) score.malescore+=result.score; else score.femalescore+=result.score; break; ¡¡?¡¡?¡¡ } i++£» } for(i=0;i<5;i++) { printf(\ printf(\printf(\printf(\} }//summary 1.19 Status algo119(int a[ARRSIZE])//Çói!*2^iÐòÁеÄÖµÇÒ²»³¬¹ýmaxint { last=1; for(i=1;i<=ARRSIZE;i++) { a[i-1]=last*2*i; if((a[i-1]/last)!=(2*i)) reurn OVERFLOW; last=a[i-1]; return OK; } }//algo119 ·ÖÎö:µ±Ä³Ò»ÏîµÄ½á¹û³¬¹ýÁËmaxintʱ,Ëü³ýÒÔÇ°ÃæÒ»ÏîµÄÉ̻ᷢÉúÒì³£. 1.20 void polyvalue() { float ad; float *p=a; printf(\scanf(\ printf(\for(i=0;i<=n;i++) scanf(\printf(\scanf(\ p=a;xp=1;sum=0; //xpÓÃÓÚ´æ·ÅxµÄi´Î·½ for(i=0;i<=n;i++) { sum+=xp*(*p++); xp*=x; } printf(\}//polyvalue 2.10 Status DeleteK(SqList &a,int i,int k)//ɾ³ýÏßÐÔ±íaÖеÚi¸öÔªËØÆðµÄk¸öÔªËØ { if(i<1||k<0||i+k-1>a.length) return INFEASIBLE; for(count=1;i+count-1<=a.length-k;count++) //×¢ÒâÑ»·½áÊøµÄÌõ¼þ a.elem[i+count-1]=a.elem[i+count+k-1]; a.length-=k; return OK; }//DeleteK 2.11 Status Insert_SqList(SqList &va,int x)//°Ñx²åÈëµÝÔöÓÐÐò±ívaÖÐ { if(va.length+1>va.listsize) return ERROR; va.length++; for(i=va.length-1;va.elem>x&&i>=0;i--) va.elem[i+1]=va.elem; va.elem[i+1]=x; return OK; }//Insert_SqList 2.12 int ListComp(SqList A,SqList B)//±È½Ï×Ö·û±íAºÍB,²¢Ó÷µ»ØÖµ±íʾ½á¹û,ֵΪÕý,±íʾ A>B;ֵΪ¸º,±íʾA for(i=1;A.elem||B.elem;i++) if(A.elem!=B.elem) return A.elem-B.elem; return 0; }//ListComp 2.13 LNode* Locate(LinkList L,int x)//Á´±íÉϵÄÔªËØ²éÕÒ,·µ»ØÖ¸Õë { for(p=l->next;p&&p->data!=x;p=p->next); return p; }//Locate 2.14 int Length(LinkList L)//ÇóÁ´±íµÄ³¤¶È { for(k=0,p=L;p->next;p=p->next,k++); return k; }//Length 2.15 void ListConcat(LinkList ha,LinkList hb,LinkList &hc)//°ÑÁ´±íhb½ÓÔÚhaºóÃæÐγÉÁ´±íhc { hc=ha;p=ha; while(p->next) p=p->next; p->next=hb; }//ListConcat 2.16 ¼ûÊéºó´ð°¸. 2.17 Status Insert(LinkList &L,int i,int b)//ÔÚÎÞÍ·½áµãÁ´±íLµÄµÚi¸öÔªËØÖ®Ç°²åÈëÔªËØb { p=L;q=(LinkList*)malloc(sizeof(LNode)); q.data=b; if(i==1) { q.next=p;L=q; //²åÈëÔÚÁ´±íÍ·²¿ } else { while(--i>1) p=p->next; q->next=p->next;p->next=q; //²åÈëÔÚµÚi¸öÔªËØµÄλÖà } }//Insert 2.18 Status Delete(LinkList &L,int i)//ÔÚÎÞÍ·½áµãÁ´±íLÖÐɾ³ýµÚi¸öÔªËØ { if(i==1) L=L->next; //ɾ³ýµÚÒ»¸öÔªËØ else { p=L; while(--i>1) p=p->next; p->next=p->next->next; //ɾ³ýµÚi¸öÔªËØ } }//Delete 2.19 Status Delete_Between(Linklist &L,int mink,int maxk)//ɾ³ýÔªËØµÝÔöÅÅÁеÄÁ´±íLÖÐÖµ´óÓÚminkÇÒСÓÚmaxkµÄËùÓÐÔªËØ { p=L; while(p->next->data<=mink) p=p->next; //pÊÇ×îºóÒ»¸ö²»´óÓÚminkµÄÔªËØ if(p->next) //Èç¹û»¹ÓбÈmink¸ü´óµÄÔªËØ { q=p->next; while(q->data }//Delete_Between 2.20 Status Delete_Equal(Linklist &L)//ɾ³ýÔªËØµÝÔöÅÅÁеÄÁ´±íLÖÐËùÓÐÖµÏàͬµÄÔªËØ { p=L->next;q=p->next; //p,qÖ¸ÏòÏàÁÚÁ½ÔªËØ while(p->next) { if(p->data!=q->data) { p=p->next;q=p->next; //µ±ÏàÁÚÁ½ÔªËز»ÏàµÈʱ,p,q¶¼ÏòºóÍÆÒ»²½ } else { while(q->data==p->data) { free(q); q=q->next; } p->next=q;p=q;q=p->next; //µ±ÏàÁÚÔªËØÏàµÈʱɾ³ý¶àÓàÔªËØ }//else }//while
Ïà¹ØÍÆ¼ö£º