| ²é¿´: 505 | »Ø¸´: 1 | |||
jypzhhгæ (³õÈëÎÄ̳)
|
[ÇóÖú]
cÓïÑÔ±à³Ì
|
|
Çó´óÉñ°ïÎÒ°ÑÏÂÃæµÄ³ÌÐòÖÐ.hºÍ.cµÄÎļþ·Ö³öÀ´£¬ÎÒÒ»·Ö³ÌÐòÔÚvisua studio2010ÖÐÔËÐоͲ»ÐÐÁË¡£Í¬Ê±Çó´óÉñ½ÌÎÒ·½·¨¡£Ð»Ð»ÁË #include<stdio.h> #include<malloc.h> typedef struct node{//¶¨Òå½ÚµãÀàÐÍ float coef; int expn; struct node * next; }PLOY; void start()//Óû§Ñ¡Ôñ½çÃæ { printf("************************************\n"); printf(" Á½¸öÒ»Ôª¶àÏîʽµÄÏà¼Ó/Ïà¼õ£¬Ïà³Ë:\n"); printf("************************************\n"); printf("ÇëÑ¡Ôñ²Ù×÷:\n"); printf("0.Í˳ö\n"); printf("1.Á½¸öÒ»Ôª¶àÏîʽÏà¼Ó\n"); printf("2.Á½¸öÒ»Ôª¶àÏîʽÏà³Ë\n"); printf("3.Á½¸öÒ»Ôª¶àÏîʽÏà¼õ\n"); } void insert(PLOY *head,PLOY *inpt)//²éÕÒλÖòåÈëÐÂÁ´½Ú³ÌÐò { PLOY *pre,*now; int signal=0; pre=head;//pre¶¨ÒåΪÏÖÔÚµÄǰһ¸öÁ´½Ú if(pre->next==NULL) {pre->next=inpt;} else {now=pre->next; while(signal==0) { if(inpt->expn<now->expn)//µ±ÐÂÁ´½ÚСÓÚÏÖÔÚµÄÁ¬½ÓʱÏòºóÒÆÒ»¸öÁ´½Ú { if(now->next==NULL) { now->next=inpt; signal=1; } else { pre=now; now=pre->next; } } else if(inpt->expn>now->expn)//Èç¹û·¢ÏÖ±ÈÏÖÔÚµÄÁ´½Ú´óÁ˾ͲåÈëµ½Õâ¸öÁ¬½ÓµÄÇ°Ãæ { inpt->next=now; pre->next=inpt; signal=1; } else { now->coef=now->coef+inpt->coef; signal=1; free(inpt);//Ó뵱ǰÁ´½ÚÏàµÈÖ¸Êý if(now->coef==0) { pre->next=now->next; free(now); } } } } } PLOY *creat(char ch)//ÊäÈë¶àÏîʽ { PLOY *head,*inpt; float x; int y; head=(PLOY *)malloc(sizeof(PLOY));//´´½¨Á´±íÍ· head->next=NULL; printf("ÇëÊäÈëÒ»Ôª¶àÏîʽ%c:(¸ñʽÊÇ£ºÏµÊý Ö¸Êý£»ÒÔ0 0 ½áÊø£¡)\n",ch); scanf("%f %d",&x,&y); while(x!=0) { inpt=(PLOY *)malloc(sizeof(PLOY));//´´½¨ÐÂÁ´½Ú inpt->coef=x; inpt->expn=y; inpt->next=NULL; insert(head,inpt);//²»È»¾Í²éÕÒλÖò¢ÇÒ²åÈëÐÂÁ´½Ú printf("ÇëÊäÈëÒ»Ôª¶àÏîʽ%cµÄÏÂÒ»Ïî:(ÒÔ0 0 ½áÊø£¡)\n",ch); scanf("%f %d",&x,&y); } return head; } PLOY *addPLOY(PLOY *head,PLOY *pre)//¶àÏîʽÏà¼Ó { PLOY *inpt; int flag=0; while(flag==0) { if(pre->next==NULL) flag=1;//µ±ÏÖÔÚÖ¸Ïò¿ÕÊ±Ìø³öÑ»· else { pre=pre->next; inpt=(PLOY *)malloc(sizeof(PLOY));//´´½¨ÐÂÁ´½Ú inpt->coef=pre->coef; inpt->expn=pre->expn; inpt->next=NULL; insert(head,inpt); }//·ñÔò°Ñµ±Ç°"g(x)"µÄÁ´½Ú²åÈëµ½"y(x)"ÖÐ } return head; } PLOY *minusPLOY(PLOY *head,PLOY *pre)//¶àÏîʽÏà¼õ { PLOY *inpt; int flag=0; while(flag==0) { if(pre->next==NULL) flag=1;//µ±ÏÖÔÚÖ¸Ïò¿ÕÊ±Ìø³öÑ»· else { pre=pre->next; inpt=(PLOY *)malloc(sizeof(PLOY));//´´½¨ÐÂÁ´½Ú inpt->coef=0-pre->coef; inpt->expn=pre->expn; inpt->next=NULL; insert(head,inpt); }//·ñÔò°Ñµ±Ç°"g(x)"µÄÁ´½Ú²åÈëµ½"y(x)"ÖÐ } return head; } PLOY *byPLOY(PLOY *head1,PLOY *head2)//¶àÏîʽÏà³Ë { PLOY *inpt,*res,*pre; int flag=0; res=(PLOY *)malloc(sizeof(PLOY));//´´½¨Á´±íÍ· res->next=NULL; head1=head1->next; pre=head2; while(flag==0) { if(pre->next==NULL) { pre=head2;//µ±ÏÖÔÚÖ¸Ïò¿ÕÊ±Ìø³öÑ»· head1=head1->next; continue; } if(head1==NULL) { flag=1;//µ±ÏÖÔÚÖ¸Ïò¿ÕÊ±Ìø³öÑ»· continue; } pre=pre->next; inpt=(PLOY *)malloc(sizeof(PLOY));//´´½¨ÐÂÁ´½Ú inpt->coef=pre->coef*head1->coef; inpt->expn=pre->expn+head1->expn; inpt->next=NULL; insert(res,inpt);//°Ñµ±Ç°"g(x)"µÄÁ´½Ú²åÈëµ½"y(x)"ÖÐ } return res; } void print(PLOY *fun)//Êä³ö¶àÏîʽ { PLOY *printing; int flag=0; printing=fun->next;//ÕýÔÚ±»´òÓ¡µÄÁ´½Ú if(fun->next==NULL)//Èç¹ûº¯ÊýΪ¿Õ´òÓ¡0 { printf("0\n"); return; } while(flag==0) { if(printing->coef>0&&fun->next!=printing) printf("+");//ΪÕýÊýʱ´òÓ¡"+"ºÅ if(printing->coef==1);//Èç¹ûΪ"1"¾Í²»ÓôòӡϵÊýÁË else if(printing->coef==-1) printf("-");//Èç¹ûΪ"-1"¾Í´òÓ¡"-"ºÅ¾ÍÐÐÁË else printf("%f",printing->coef);//ÆäÓàÇé¿ö¶¼µÃ´òÓ¡ if(printing->expn!=0) printf("x^%d",printing->expn);//Èç¹ûÖ¸ÊýΪ"0"²»´òÓ¡Ö¸ÊýÏî else if((printing->coef==1)||(printing->coef==-1)) printf("1"); if(printing->next==NULL) flag=1;//Èç¹ûÏÖÔÚµÄÁ´½ÚûÓÐÏÂÒ»¸ö¾Í½áÊø else printing=printing->next; } printf("\n"); } void main() { PLOY *f,*g; int sign=-1;//ÉèÖñêÖ¾ start(); while(sign!=0) { scanf("%d",&sign); switch(sign) { case 0: break;//Í˳ö case 1: { printf("ÄãÑ¡ÔñµÄ²Ù×÷ÊǶàÏîʽÏà¼Ó:\n"); f=creat('f');//ÊäÈë¶àÏîʽf(x) printf("f(x)="); print(f); g=creat('g');//ÊäÈë¶àÏîʽg(x) printf("g(x)="); print(g); printf("F(x)=f(x)+g(x)="); f=addPLOY(f,g);//Á½¸ö¶àÏîʽÏà¼Ó print(f); sign=-1;//¸´Î»±êÖ¾ start();//»Ø¸´Óû§Ñ¡Ôñ½çÃæ break; } case 2: { printf("ÄãÑ¡ÔñµÄ²Ù×÷ÊǶàÏîʽÏà³Ë:\n"); f=creat('f');//ÊäÈë¶àÏîʽf(x) printf("f(x)="); print(f); g=creat('g');//ÊäÈë¶àÏîʽg(x) printf("g(x)="); print(g); printf("F(x)=f(x)*g(x)="); f=byPLOY(f,g);//Á½¸ö¶àÏîʽÏà¼Ó print(f); sign=-1;//¸´Î»±êÖ¾ start();//»Ø¸´Óû§Ñ¡Ôñ½çÃæ break; } case 3: { printf("ÄãÑ¡ÔñµÄ²Ù×÷ÊǶàÏîʽÏà¼õ:\n"); f=creat('f');//ÊäÈë¶àÏîʽf(x) printf("f(x)="); print(f); g=creat('g');//ÊäÈë¶àÏîʽg(x) printf("g(x)="); print(g); printf("F(x)=f(x)-g(x)="); f=byPLOY(f,g);//Á½¸ö¶àÏîʽÏà¼Ó print(f); sign=-1;//¸´Î»±êÖ¾ start();//»Ø¸´Óû§Ñ¡Ôñ½çÃæ break; } default: { printf("ÊäÈëÓÐÎó!ÇëÖØÐÂÑ¡Ôñ²Ù×÷!\n");//Ñ¡Ôñ´íÎó,·µ»ØÑ¡Ôñ½çÃæ start(); break; } } } } |
» ²ÂÄãϲ»¶
ÌåÖÆÄÚ³¤±²ËµÌåÖÆÄÚ¾ø´ó²¿·ÖÒ»±²×ÓÔڵײ㣬ÈçͬÄãÃÇÒ»Ñù´ó²¿·ÖÆÕͨ½ÌʦæÇÒÊÕÈëµÍ
ÒѾÓÐ13È˻ظ´
ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼±
ÒѾÓÐ7È˻ظ´
ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼±
ÒѾÓÐ8È˻ظ´
ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼±
ÒѾÓÐ8È˻ظ´
ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼±
ÒѾÓÐ11È˻ظ´
ΪʲôÖйú´óѧ¹¤¿Æ½ÌÊÚÃÇË®ÁËÄÇô¶àËùνµÄ¶¥»á¶¥¿¯£¬µ«»¹ÊÇ×ö²»³öÓîÊ÷»úÆ÷ÈË£¿
ÒѾÓÐ8È˻ظ´
ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼±
ÒѾÓÐ5È˻ظ´
ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼±
ÒѾÓÐ6È˻ظ´
ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼±
ÒѾÓÐ9È˻ظ´
ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼±
ÒѾÓÐ4È˻ظ´

libralibra
ÖÁ×ðľ³æ (ÖøÃûдÊÖ)
æôÆï½«¾ü
- ³ÌÐòÇ¿Ìû: 40
- Ó¦Öú: 817 (²©ºó)
- ½ð±Ò: 12914.1
- ºì»¨: 64
- Ìû×Ó: 2238
- ÔÚÏß: 287.3Сʱ
- ³æºÅ: 696514
- ×¢²á: 2009-02-05
- רҵ: ¼ÆËã»úÈí¼þ
¡¾´ð°¸¡¿Ó¦Öú»ØÌû
¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
|
°Ñ2¸ö#includeºÍstruct nodeÄõ½hÎļþ, È»ºóËùÓк¯Êý(³ýmainÍâ)µÚÒ»Ðи´ÖƵ½hÎļþ¼Ó·ÖºÅ, ʣϵÄ×÷ΪcÎļþ,ÔÚµÚÒ»ÐÐдÉÏ#include "ÄãµÄhÎļþÃû.h" (×¢ÒâÕâ¸öhÒªºÍc·ÅÔÚͬһ¸öÎļþ¼ÐÏÂ) ±àÒëÔËÐоͿÉÒÔÁË |

2Â¥2013-05-08 16:06:18













»Ø¸´´ËÂ¥