下沙论坛

 找回密码
 注册论坛(EC通行证)

QQ登录

QQ登录

下沙大学生网QQ群8(千人群)
群号:6490324 ,验证:下沙大学生网。
用手机发布本地信息严禁群发,各种宣传贴请发表在下沙信息版块有问必答,欢迎提问 提升会员等级,助你宣传
新会员必读 大学生的论坛下沙新生必读下沙币获得方法及使用
查看: 6572|回复: 9
打印 上一主题 下一主题

[求助]请教各位大虾

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-7-6 10:23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我的数据结构课程设计# ~4 z- _+ a) j1 i* J1 n 实现一个多项式合并,字符串输入多项式,链表插入排序 * \* h. G* c- |' G2 {( @5 L可是我运行出来结果不一样啊,大家帮我看下哪里错了,小的在此谢过啦~~~ " \4 K7 w9 i( F+ r1 @#include" |% K% v/ M0 s7 j* [ #include - Q7 M2 F; c; |$ n4 s4 L#define MAXSIZE 4009 ^+ B4 c* ^+ q: C1 \1 W: ?9 w char a[MAXSIZE]; / O ?' c6 `5 S8 A& _typedef struct{char elem[MAXSIZE];2 k7 I1 Z! t( M' s. r! R$ b: { int top; : U: u3 ]% T2 m0 E" P; L }SqStack; / G& k# e# X: O; p3 l0 ^) fSqStack S;3 ~" [# G4 }. c- I& } j typedef struct poly1 C" h# D7 X9 N- U {int coef; /*xishu*/, Q. t0 |+ l/ k+ P8 p: x int exp; /*zhishu*/ 8 M6 L, D, B6 \+ W, a( p struct poly *next; J$ _! z5 r& h1 R }Lpoly;$ h3 m' S! u) z+ l- F Lpoly *pa;. m* A( w! ?' X" Y7 x) H int cf(int i) /*10^i*/ ; D+ E6 y+ C6 r& r' I' l9 ]% h{ int c=1,j;% ]- f! d6 W9 A- _ for(j=1;j<=i;j++) c=c*10; - q4 g- C3 Y7 n. ~4 V return c;8 L9 G; C7 j" h; {5 f }# N' y/ y$ Q- Z2 e6 a void input(char a[],int j) f# k5 x7 T( h' ^# u$ B( O{ Lpoly *p,*h,*ptr;0 d* T4 C1 a+ S4 S1 N: ^ int i,k,flag=0,x=0; 5 M, A% X( e& S+ ~# r; u! G0 b S.top=-1;! s. ]" R. M( T) r! K pa=(Lpoly*)malloc(sizeof(Lpoly));+ f- {0 M- j J pa->coef=0;pa->exp=0;* `' \/ O5 _3 B% q! y; v6 _+ P h=pa;h->next=NULL;' E: P7 w+ @( e9 F% y* E, X9 ^) } p=h; /*jianlipa*/$ o/ }) G# }4 l! w* l! @9 j for(i=0;i<=j-1;i++) " f6 ~; }/ O P! M- ^& D+ ?/ B1 } {ptr=(Lpoly*)malloc(sizeof(Lpoly));, ]8 c9 |- ^0 |) ?* n# \ if(S.top1 k" K4 U$ p# S9 | {S.top++; $ ~* v8 w6 x+ H S.elem[S.top]=a;; t% z9 `# \" }0 F2 C }; {$ F6 H( D% g" Q* q, u if(a=='-') flag=1;1 F4 B5 y; Q% V& s! W3 p2 T if(a=='x') /*fenlixishu*/) P( x+ U0 l! \ t1 L {if(S.top==0) A" ^ n4 N0 ~9 l8 x {if(flag==1) 7 J5 N3 h, j" h7 e {ptr->coef=-1;ptr->next=NULL;} 6 U8 S% B+ X# G* k" n else. s, d8 E5 L2 J3 H A n4 r {ptr->coef=1;ptr->next=NULL;} % L0 z. X& s0 C2 a8 B& q$ W" s1 M { } F8 m9 w3 D( f7 f0 ? else & J8 s. f w1 e" ~4 B$ J {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k); & @" y7 w5 D& E# H. k ptr->coef=x;ptr->next=NULL;x=0; & G; b$ d0 V* N6 E n( p } 9 b1 ~. k7 n, g4 N1 d; j2 V/ s S.top=-1;flag=0; /*clear*/ 3 l# u+ w# V) D3 e' y }6 m, C) B. q* f% J! N: A if(a=='+'||a=='-') /*fenlizhishu*/ t* h8 N. V/ J# S {if(S.top==0)! M1 r0 z. m9 B/ W {ptr->exp=1;ptr->next=NULL;}# e1 |" u) n" c. w else3 W% K) F$ R+ _2 V0 ~2 f) a7 r {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);7 L' o2 g9 L7 D ptr->exp=x;ptr->next=NULL;x=0; , Z* z0 z- B& M* Z: b: X8 e } /*tiquzhishu*/ e9 ^/ N0 M6 u W9 d( ] S.top=-1; ! K5 @, p( P1 m2 X9 n/ w/ J } 0 z" |3 w6 {, R6 B4 @ v! n if(ptr->coef!=0&&ptr->exp!=0) 0 p% l1 a* G6 ~; N- |+ z {p->next=ptr; , s y! F, R8 {8 g0 m1 S8 l p=ptr; ^1 F, K: R) _3 J6 K; d9 I1 F } 6 ^- V. O6 n2 b) Z _# o if(i==j-1)& E) ]8 k* \% G# P! m& r) p {if(ptr->coef==0)6 J0 g9 j; e# w, C+ L+ D6 S {for(k=S.top;k>=0;k--)& { |& O( R( P( m6 O9 u9 \& j x=x+(S.elem[k]-'0')*cf(S.top-k);- W4 x* Y' y8 @) o9 _+ L ptr->coef=x;ptr->next=NULL;! G! g) L" d: J! [: W6 e } 4 \! `* ]: k: ~5 A+ v else' V7 }* y" s% D- A, o {for(k=S.top;k>=0;k--)4 v# @9 i5 `- Q5 `0 o" M* _2 b3 w x=x+(S.elem[k]-'0')*cf(S.top-k);/ u- u4 _. o9 B; O: l/ a+ k2 l0 M ptr->exp=x;ptr->next=NULL; + M- s$ x9 r! K! h }6 }! P+ O, o' w p->next=ptr;ptr->next=NULL; / V! _' q8 C6 @* n1 r) h } ) E: Y, R$ I9 ]# y }: Y. }- D( n) w1 Q8 V4 _' d% U; j6 z } , T! b6 z( _7 \" L/ f+ x# jvoid stinsort(Lpoly *pa) ' e2 q0 p( {/ _- s B0 |{ Lpoly *p,*h,*q,*k; ' \9 \% `% T& H' H- @9 J; s h=pa;p=K=h->next;q=p->next;# e: q% r1 B- v- _4 G4 g while(p->next!=NULL) 6 b b$ `& A2 D/ e {if(q->expexp)3 Q- r8 I6 k1 F, H& ?0 x {while(q->exp>k->exp)4 P* I& G/ y* j6 Z5 J2 Y {k=k->next;4 p2 Z, F4 H; s5 u h=h->next; 4 F, E) O. R" ^ } % E2 D3 e& L+ E: N8 `& n: A if(q->expexp) `3 S" ]: i! m- b {p->next=q->next; , X) F2 }% b% v0 N ^ h->next=q;6 \( }8 F4 i/ \9 D, h! Q q->next=k; / N1 D/ o/ U3 d' B+ ~ n% O7 Z q=p->next; $ P! a: W6 K7 n2 ` } . q" S6 s Q. v6 O. K2 Q if(q->exp=k->exp); o5 {0 N/ Y# g {k->coef=k->coef+q->coef; * [& d- b) {. [2 g- O( V1 w9 I p->next=q->next;) `; h! k5 m' g: M; w2 F7 [- D q=p->next;5 n6 {$ u6 X# B7 m% c }6 W) D" _+ P. s+ {. [$ k h=pa;k=h->next;9 I* a2 D9 q9 d1 y3 G& J) Y }0 F4 m* [3 X, O K" v if(q->exp=p->exp) ! V; {" G/ f" E& L( r {p->coef=p->coef+q->coef;- _; M. Y# r6 M. @' k3 k p->next=q->next; # V2 g2 G$ F- c q=p->next; ) k+ a) j, [ P; f2 s; s* M }* O4 B( p0 w: M1 t5 [' P) _, x# t0 g if(q->exp>p->exp) $ L- S+ i! S) ?5 r {q=q->next; 5 f/ Y! H, B, P: ]0 x( J1 R! v p=p->next; j1 w0 q1 I1 R$ h } ' ^& M$ E& ^) W, ^: z# n9 a }. t. Q! C5 `3 t } ! {* ?( b+ Q8 e! L# {7 ]main(); [$ \$ M! K4 i3 B9 G { int i,j=0; ) x- Z1 M0 j* E u& j1 h printf("a="); 2 M- t2 F* I0 L* O2 J) T, q scanf("%s",a); ) y/ I3 @' b; }5 G for(i=0;i<=400;i++) : V, ]$ w1 M. t) H {if(a!='\0') j++;} . ~6 l* `9 i! Z0 d input(a,j); 0 j6 s7 d% o1 l stinsort(pa);* D" S9 T' _0 Q6 o0 v% w: r* O! `) X8 G printf("a="); H" Q# Z2 j1 }/ P G, ?' W! r for(i=0;i<=j+10;i++)+ S# O5 m) h% L) ~' R% z/ D( l3 { {printf("%dx%d+",pa->coef,pa->exp); " V( Y/ q4 X) `+ N pa=pa->next;1 U# A+ E" y, z3 x3 I8 b- ? } 8 m1 B6 u( M# r( S% I}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩

该用户从未签到

2
发表于 2005-7-27 21:37:00 | 只看该作者

猛然发现我已经受不了C的那种模式了……尤其是别人写的……

还有搂主最好打个包,代码发到BBS上全走样了,有些符号没了,没办法帮你看

该用户从未签到

3
发表于 2005-7-28 09:27:00 | 只看该作者

不用对齐的编程风格也就算了,可是把几行挤到一块儿的风格也太小家子气了吧?改改啦,不改成不了程序员的。

该用户从未签到

4
发表于 2005-7-28 09:28:00 | 只看该作者
还要注释要么用英语,要么就用汉字,不要用拼音,恶心死了,不是每个人都习惯看拼音的。

该用户从未签到

5
发表于 2005-7-28 09:37:00 | 只看该作者
还有,楼猪这段代码错误满天飞,居然也可以运行?

该用户从未签到

6
发表于 2005-7-28 09:43:00 | 只看该作者

#include "stdlib.h"8 [; l4 U3 M3 C, a- s' ] #include "string.h"7 v+ H& ?4 [ r4 r #include "stdio.h"

#define MAXSIZE 4005 w& h% k# z: }3 @4 K5 `2 m# \ char a[MAXSIZE];

typedef struct( D g) z" v- k; g* q0 g" ? { 4 X9 O4 h: |1 w+ ^' ~ char elem[MAXSIZE]; 2 a( j* g4 W: N" p int top; : C: s4 n1 I5 g/ p9 x* d/ z; Q4 Y}SqStack;

SqStack S;

typedef struct poly/ Y5 L6 ^. P. C C { 5 r: ~3 ~. O @4 O o int coef; /*xishu*/- f) l. f' {2 h0 b" M1 q int exp; /*zhishu*/# b( R8 L+ g- ^/ z1 I struct poly *next;. a" g4 p. |- U% e# O H }Lpoly;

Lpoly *pa;

int cf(int i) /*10^i*/$ W2 A) J) x% b+ C3 ^3 r3 u { , x- m$ g5 N( l Q int c = 1, j; `1 K* U% ?9 e7 U5 S/ w: q) C for(j = 1; j <= i; j ++) * {7 Y/ U3 i7 {1 V# x& r c = c * 10; c, ?! ^5 g8 n6 q, n return c; 8 t( g5 {* X$ f8 z% D}

void input(char a[],int j) ; ^- w& w1 A$ _9 s/ }! g- ?{' l- b6 g v, o3 j. I Lpoly *p, *h, *ptr; 0 q8 v) q( U( L. ^4 X int i, k, flag = 0, x = 0;0 L) t2 B: Q( d; t S.top = -1; * o6 y' y; j! K/ e pa = (Lpoly*)malloc(sizeof(Lpoly));5 b8 j: z4 @( o( x/ k9 h4 T3 G pa->coef = 0;2 n9 Q7 V! h$ l! o* g pa->exp = 0;5 [% s0 ?0 l+ A5 U: F h = pa;7 x% l! @2 F# o% b' V h->next = NULL; $ f) n3 \) n* [- @6 R+ @ p = h; /*jianlipa*/ 0 @2 t+ \+ i& W; |/ P 4 Y6 B4 X) T5 G! c. i1 l for (i = 0; i <= j - 1; i ++)- _% o% V$ i% o { $ E1 D: R/ k1 v6 H ptr = (Lpoly*)malloc(sizeof(Lpoly));3 b2 a) b: K- ~4 { if(S.top) . E- {, P G6 W N# x" L. T { 1 K/ h4 v' B' U. s6 C S.top ++; ! D; [+ {/ q8 P- z S.elem[S.top] = a; 3 \: T0 F+ N S, B, n } , i2 g& I: l# I f if (a == '-'). ^- E# Y0 ]1 K# F flag=1; & S% {( {% `- \% B; H: n ( V' l$ I; O4 Z4 m/ E if(a == 'x') /*fenlixishu*/ " Q/ i" d6 Q- y/ n* i- ]5 v { 1 P$ ^; I5 u) B' l if (S.top==0)( s0 A$ v. s7 C! W) A {0 }4 f7 |- ~/ d% N! x+ ~1 l, x if (flag == 1) % T- p8 J: `4 |/ A2 I& ]7 b: q { $ f' D: B7 n% @ ptr->coef = -1;6 G; }1 u1 O( n, b) ] ptr->next = NULL;& u' a2 s/ f( y3 ~7 u. ` } 1 s1 f" s# I6 M% [& }1 P1 Y9 j else `! v( S S' `4 d2 H0 o" l { 1 L' @# w" C9 T/ p: y ptr->coef = 1; 7 Z3 z! J. ^) h2 ~1 T# W5 Z. o( b ptr->next = NULL;: h9 N0 b X& H! i5 C }1 X) [* a2 D) t6 W2 G) V, n. A } & ~2 R w: s9 G8 Y: P; l1 j) @" R5 F" C else% ~+ v' J$ t0 A1 T+ ?* H { # M, R2 |- E, m for (k=S.top - 1; k >= 0; k --)% P: u! j9 l C+ A" A' d. B- k: O" t5 P x = x + (S.elem[k] - '0') * cf(S.top - 1 - k);8 L V5 |1 v9 I) w6 I" x( M! d ptr->coef = x; k- F7 h% ~; P7 U6 Y+ h" } ptr->next = NULL; 9 b/ p5 k$ P# _5 x* c x = 0; / G6 X& m, V) i$ w! W$ d' E }( f1 L' t# W3 T, ~ S.top = -1; : I* R' A1 ~- |) g# t3 q3 T5 a; | flag = 0; /*clear*/ + c* t0 E* y/ h2 ^% E+ @2 n }9 o: {* c$ r5 t& F$ e& b8 v if (a == '+' || a == '-') /*fenlizhishu*/ " \0 d% a) v# d" G { ' g/ a* M& U3 G |3 [8 h3 `6 v6 j: T if(S.top == 0)! l: K! |# }+ v { 7 l* H! E5 y0 {9 V ptr->exp = 1; " G; @+ ~( @7 P$ v) y. P4 _ ptr->next = NULL; $ a$ q) _/ L# ^! C } * h4 C0 _. B8 ~# } D+ t else 7 S& \/ `# E; k; ~ { : C: B9 g2 k, m. ^- d for (k = S.top - 1; k >= 0; k --) & k: l2 D0 i2 ]; [4 @ x = x + (S.elem[k] - '0') * cf(S.top - 1 - k);* |" Q8 O4 S3 S" { ptr->exp = x;* ~- q! M5 f! x9 ^# C' { ptr->next = NULL;4 n: S3 s* j/ b- M7 U! w/ p( a# }# k, ~ x = 0;* O3 g) E4 x, V2 a$ e }/*tiquzhishu*/ & w0 N( z! V1 w% s+ B, `5 a/ B( d: B S.top = -1; ) M) X' F$ E5 q' f }3 z: `# I: E. J' E8 T- m) T9 r if (ptr->coef != 0 && ptr->exp != 0) 3 T: Q& Z& ?% l# ^ { 4 S1 [; p: G. h/ @! } p->next = ptr; & K1 `) H4 y6 q$ P+ B p = ptr; ( \, ~9 b6 @0 w+ u4 | }" E2 V6 W4 r6 S5 ?4 K# P7 k! a4 a' l if (i == j - 1)5 z4 B$ W( q. d" n# J! a8 [* y" y {0 z/ j# L- s2 n m$ w7 R if (ptr->coef == 0) % m0 Y- ]- D0 o { ; z# l# x: q4 L9 f% T for (k = S.top; k >= 0; k --) 8 [+ X3 d. |) h o& o g+ | x = x + (S.elem[k] - '0') * cf(S.top - k);/ V! D p6 s& z3 O: k5 w% q1 q1 I; } ptr->coef = x;0 E" \& m- y4 r4 g$ d/ _ ptr->next = NULL;5 F; {2 Y" e4 [8 v& m# b, g# w# L } $ W: h$ \; z6 z( ^5 \/ E/ s else: y" d+ u4 h/ u {. `& C$ W$ V+ G* h2 J for (k = S.top; k >= 0; k --) 8 M/ ~, O; a5 f9 q" E/ \% v; w x = x + (S.elem[k] - '0') * cf(S.top - k); / l) @/ r5 o: ?5 y ptr->exp = x;" n- j V1 ^- }0 H9 [2 i ptr->next = NULL; 3 V8 i; m. f% E9 e# i } # M% Q, @" q6 X- r/ Y- n7 I p->next = ptr;: N# ~3 o; m3 U# S/ q8 i. C9 M ptr->next = NULL;# I3 w9 V, O9 A1 u } 6 A- k8 o1 C0 d0 H# r* N' G } ( ?4 p2 j# Z8 e' F- d}

void stinsort(Lpoly *pa)- D$ u" E9 P" J: {" a6 N2 a p8 V {8 }9 X* E: m- O4 T8 ` Lpoly *p, *h, *q, *k;) P) y3 K3 @# [; h h = pa; * R1 G# F2 W" t9 u1 ? p = k = h->next;* S9 F/ u i1 G3 j, `6 k( m& j q = p->next;; N& X0 [+ @4 ?8 |: B3 ~$ | while (p->next != NULL)1 w, I, }! d0 f/ y8 N% h6 w {7 O& c2 b. h; O! b if (q->exp) - n# l3 b) n: Q5 j/ {+ h5 ^ { ! G7 i, I4 U: R& c! S1 w while(q->exp > k->exp)8 k i! o: F! P- u1 ] { + H9 ~; i6 l. [7 @& y* X k = k->next;2 l7 u; i+ E( ?/ X h = h->next; q! g+ N) `& s z }5 O8 x# R% a; [4 u' _2 L if(q->exp) + z# l8 g: g" ?4 i7 t {: g9 s" D; j7 y0 P. s: l' [# H p->next = q->next;2 _! E \; J* L* K2 Y0 r h->next = q;# }+ H7 R: g( ?# R. y% I q->next = k;! L3 x* f! ~) @) z/ ^ q = p->next;) N0 [! s5 S7 ^) G1 u } # ?6 I) P2 K- M6 [. } if (q->exp = k->exp)/ Y$ u3 R( o9 D { F [$ W! n# i4 K4 e- k: u& { k->coef = k->coef + q->coef; ! G/ J7 E9 R9 U p->next = q->next; , i( m5 f( |9 R) e, J q = p->next;+ e% x0 p1 G! k4 ?0 c8 e$ r* a } : m; t$ ~, Z1 p2 a h=pa; 2 Q. M5 ]5 P0 }8 _$ H- P. w k = h->next;8 L; M. B% w( U+ I3 D } / u! U# _7 w) f' L$ d; a4 Y( S * t8 ?( f) k; I) s4 D. ` if (q->exp = p->exp)4 s6 l+ k1 T5 Z9 u { 9 L, y) l& s( w; d- n6 G8 x p->coef = p->coef + q->coef; % e, X( I3 ]3 a4 {0 y9 T p->next = q->next; . d5 R2 p, M1 X5 G8 f0 P q = p->next;9 E/ C9 a/ y- v9 u! g7 e } % ?' I9 M! k1 v2 t7 `# k if (q->exp > p->exp)$ A4 \' ?8 H6 e+ L {% L% }+ V# `. a* g q = q->next;3 T5 E, Q# Q1 ~$ a p = p->next; , I9 ^; P* R+ e" @) o }5 B7 r8 d8 O4 D/ w- Y+ k2 d" l } / O) X$ p8 K( X& X6 G; K' b}

main()4 D9 q/ w3 b5 ]" h5 y" v {1 C& M6 Z; M. S& V int i, j = 0;; ]3 d# ]) l: ?+ Q9 E4 v printf("a=");, e0 v; q! r+ Q5 i8 R* X scanf("%s", a);. H" w O' y g4 ]7 _ j = strlen(a);

input(a, j); / s4 T# j: `/ }- |, |# m' a stinsort(pa); 8 d2 y3 l$ o2 k% v4 A printf("a=");6 l" C! U4 c: T* F2 g for (i = 0; i <= j + 10; i ++)0 Y1 p/ c3 K" `% I% {& J: ~ {0 I9 W9 Z1 L4 u- w2 A printf("%dx%d+", pa->coef, pa->exp); 6 C6 A+ O0 V3 Z. C) P pa = pa->next; " k# b% b( O3 ]2 W* x% G }# \+ G& y# O/ O8 e$ [/ ? }7 n& G) P# u/ X% p8 W5 m, p

我把楼猪的代码弄了下,把里面大小写错误排除了,这段代码会有死循环,谁有空谁研究去。

该用户从未签到

7
 楼主| 发表于 2005-9-17 17:28:00 | 只看该作者
这是上学期的数据结构课程设计
- ?8 T# d( i: x6 m" O% y结果我已经弄出来了,得了个优秀,没跟大家说不好意思- I- w+ `3 u: l3 ]0 Z" c. u7 y9 J
多谢大家给的意见,我现在水平还很差6 q! M4 U# I9 U! y( U8 ~7 I
至于注释都是给自己看的,发到网上的时候没改,呵呵~~~~~~
  • TA的每日心情
    开心
    2023-3-31 09:11
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    8
    发表于 2007-2-25 14:06:00 | 只看该作者
    全还给老师了- -想当初为考试忙这忙那的

    该用户从未签到

    9
    发表于 2007-2-26 10:52:00 | 只看该作者
    老帖,一口血就出来了……

    该用户从未签到

    10
    发表于 2007-3-17 00:45:00 | 只看该作者

    it is too hard for me!!~~~~~

    本版积分规则

    关闭

    下沙大学生网推荐上一条 /1 下一条

    快速回复 返回顶部 返回列表