下沙论坛

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

QQ登录

QQ登录

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

[求助]请教各位大虾

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-7-6 10:23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我的数据结构课程设计 1 t X, o1 r# R9 ?实现一个多项式合并,字符串输入多项式,链表插入排序 % s7 q, ~" E3 p% b& j; ~可是我运行出来结果不一样啊,大家帮我看下哪里错了,小的在此谢过啦~~~ 4 M# s- x: @) v0 e#include( ^* g- C* L8 }* O9 ?0 d #include1 Z( o8 f d- R7 ^9 F+ j #define MAXSIZE 400: M; C- D. N" i$ B( J: | char a[MAXSIZE]; ; x" }# \; Z j* D% \' l5 Ktypedef struct{char elem[MAXSIZE]; & n1 M; \& N' }# S int top; # g2 `$ X4 Z. m! S) l. x }SqStack; ) c* |2 Z% b+ x7 Y, pSqStack S; 4 D5 N3 j" V9 L% Y ^9 }6 s7 T3 wtypedef struct poly # P7 j" [% V. C9 \, t) e {int coef; /*xishu*/( c! X# F/ y4 c int exp; /*zhishu*/ ( t; S( D, O! E5 \ struct poly *next; / D6 q N+ N2 r. X# D }Lpoly;" G% l+ B6 r# r: W' E0 w6 w# y Lpoly *pa;& k! M! w- ]. p4 q4 m5 B int cf(int i) /*10^i*/ 6 ?& M; X7 H- b, b, L! l* _% L{ int c=1,j;$ M2 L) e6 M& } H U for(j=1;j<=i;j++) c=c*10;# d( R% T$ M; G2 f* [. G1 z" q return c;5 B1 N# q- n' e% r, d } A4 t6 k5 {# Y' s8 ~ void input(char a[],int j)% J/ p/ h( m2 v( N4 }, |) r; ^ { Lpoly *p,*h,*ptr; 6 l0 V h5 P& e. ]: c" N1 W" @6 M int i,k,flag=0,x=0; w) @! q1 P: F5 J J% m X! M8 |2 e" I S.top=-1; ; g& S/ A2 b0 e! w& _3 M C% x5 c pa=(Lpoly*)malloc(sizeof(Lpoly)); % G8 [. ?) p0 l2 q: c: N pa->coef=0;pa->exp=0;( N2 h1 Z% ?+ U- [$ m' a9 L: R h=pa;h->next=NULL; - D) x% ^0 o: d8 J5 E; `2 R* f p=h; /*jianlipa*/ 0 I1 d0 o6 d0 o0 z( o for(i=0;i<=j-1;i++) % q* c! G+ j( ~0 ` {ptr=(Lpoly*)malloc(sizeof(Lpoly)); # M% \, f& O- s if(S.top" V! B* ~- N/ p- j( V" Q {S.top++;2 W. j; i0 _( f S.elem[S.top]=a;- ^6 M7 u/ L/ r7 H% i) Z( R- `8 | } l) C; S% p7 _! ~ if(a=='-') flag=1; 1 f# M5 Q2 G; ] f if(a=='x') /*fenlixishu*/ $ \- a" c% B2 b3 ^ {if(S.top==0)) M) c5 k$ ?9 s {if(flag==1) ! V }: H7 L8 C, @$ \3 t. X5 a {ptr->coef=-1;ptr->next=NULL;} ) C1 i+ ~; _9 b/ Q else! B' W0 a, |" | {ptr->coef=1;ptr->next=NULL;} 8 M. a4 S5 b+ p. d }6 C$ c2 V0 o) a1 ]1 c% o# X0 j else " z2 X! k3 m1 ]3 F* M {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k); . u1 c' p6 y1 d+ r6 I: D ptr->coef=x;ptr->next=NULL;x=0; ) T' w1 f! Y$ v, z }; F2 ]/ P5 l# m4 s& R S.top=-1;flag=0; /*clear*/7 f& x8 g {+ f& ~. [ } 5 Y) F$ r( l% f6 i, e1 E/ B; U9 |( t if(a=='+'||a=='-') /*fenlizhishu*/ % Y- \5 t9 N7 |# R9 ? {if(S.top==0) # @$ W: x0 S4 M5 ~& \. ~ {ptr->exp=1;ptr->next=NULL;}; O0 ]# J' X; ?9 v7 v5 S1 Z* Z else * T7 @. `7 i. @0 p: q' ^5 g {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);3 d% Z' G6 n# U1 y! I4 N, X5 \ ptr->exp=x;ptr->next=NULL;x=0;. ?. q }$ W$ ~: [& W3 L t" R } /*tiquzhishu*/ 5 f* k4 v5 o( \5 e2 h$ ?# T S.top=-1;6 h. e/ k. e: Q% N0 h) \& X+ Y }4 B0 e- d) `0 \) h! l if(ptr->coef!=0&&ptr->exp!=0) 8 r' m ^, ^$ {" T {p->next=ptr;* r" c& S* D/ e3 | D$ @6 }: P; [ p=ptr;1 G: s, t4 v4 p }9 {6 R1 \" `2 p. A/ Y if(i==j-1)& d% [; @4 p/ Q: J& R {if(ptr->coef==0) % s, D" b. v F9 n0 t, z {for(k=S.top;k>=0;k--)' o3 E" y* S: M) ~1 n8 l: P x=x+(S.elem[k]-'0')*cf(S.top-k); 9 S' I) R2 Y1 ^4 {& i1 i" Y ptr->coef=x;ptr->next=NULL;- Z8 D. G, G2 P# Q6 x! S+ P } " j% K; L5 N9 [' y8 E else" y0 m- F) C i. S+ i9 G+ S: B" l {for(k=S.top;k>=0;k--)/ @/ t1 j. E; U$ f* r* {0 ? x=x+(S.elem[k]-'0')*cf(S.top-k); 1 l8 x" M; @7 N% w P9 I- u i ptr->exp=x;ptr->next=NULL;3 n* n8 W1 N/ _ ~1 C } 2 Y# s: J8 k6 a, R- w* a p->next=ptr;ptr->next=NULL; 1 X: k6 u& F7 ~0 q2 y2 M# S8 }, H }7 H9 \, \& v: H } / i7 y1 A7 K) y- ]6 h1 N} ( ^& s( q/ L/ m- s h. s3 r) }% f1 hvoid stinsort(Lpoly *pa)& ~& v4 I' l, w' Q: u/ X% H { Lpoly *p,*h,*q,*k;3 A! q' G/ v6 w* R2 h/ Y h=pa;p=K=h->next;q=p->next;" b" U' Y* h# P" [: T( B, Q+ K while(p->next!=NULL) ]! S/ [3 K& }4 n. W' T {if(q->expexp) . B V& L/ X5 A- s, ?8 @ {while(q->exp>k->exp), S# C6 P0 u3 {+ C4 J {k=k->next; % h3 N" E" |; z/ w h=h->next;( G7 u F6 y/ n0 M( h4 ~0 Y } 8 a) ?' H4 j% ]7 C if(q->expexp) Y" T( l) A+ P. Q {p->next=q->next; , U( U3 _$ U3 X: y h->next=q; 9 s# ]% i6 T" ~) i( ]6 \; ` q->next=k; l& d R5 i t) {' {3 P q=p->next; ; w9 B$ r: S) ~0 N } # `! t. \* e. N if(q->exp=k->exp)/ A8 p" [* U! A/ f {k->coef=k->coef+q->coef;8 {8 Z# V+ i6 V- ^ p->next=q->next; * Y- A% @/ A0 p7 h# O' R* D! n q=p->next;- P# ?( Z) x( b h( y }# I. M! ]$ a: N0 d h=pa;k=h->next; E) `+ J& u$ G7 b } - j6 x2 `% F9 X m. J; } if(q->exp=p->exp)5 P. Q, p6 W" S {p->coef=p->coef+q->coef;5 _# Q/ X, L5 ?/ T p->next=q->next; : ]0 w- g' I7 A+ }6 V2 u q=p->next;9 U' J3 d- g e }8 }: J4 D! F1 R9 O( ` if(q->exp>p->exp)# ~' x5 r6 K2 ^5 W0 B {q=q->next;# l e. x8 v' w p=p->next; ; ?1 A" Y( ?4 N' v( e; e9 k } $ P9 W$ m' ]& r3 ^: Z }" l" t' |. f, W } 5 O! y( j ^1 ~* }' rmain() / T, J3 o- p8 G. n1 @{ int i,j=0;% C' o! T. i# B$ g' j printf("a="); 1 c* C6 P' n9 @6 H( y7 G scanf("%s",a);. L) q" Q" p5 n5 O) o for(i=0;i<=400;i++) 1 i, E$ S8 a* d4 n {if(a!='\0') j++;}. C8 }0 N g2 g1 [) b1 @" r, I input(a,j); ' N! `- |8 Q% x3 S6 y+ I stinsort(pa); 1 `% Z/ t2 Z7 I$ ^1 W* S9 O printf("a=");! T% V4 {8 `4 C5 R0 u4 M5 {- c for(i=0;i<=j+10;i++) : @3 O* P. P, {! p {printf("%dx%d+",pa->coef,pa->exp); / V; x: b1 x1 M8 b pa=pa->next; " W8 ?' q0 y. F- M- H } + Q7 H, q( `+ {+ h- m, a}
分享到:  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 y0 D. }) u% k8 G* P#include "string.h" ' [( |' o. W, L3 Z; G#include "stdio.h"

#define MAXSIZE 400 8 k+ Y1 Y- R% |. f% o0 ~- ychar a[MAXSIZE];

typedef struct 3 T( M& C5 S8 j{2 F( o: s1 z; r- [; ?0 R char elem[MAXSIZE]; H3 d: ~' H! n9 ? int top;4 p4 O/ }, `. r J H4 {. \0 G }SqStack;

SqStack S;

typedef struct poly . n( r3 b7 i: n/ ?+ }: N5 l2 O8 X2 w{8 ?* k( X. X! [ int coef; /*xishu*/% }7 z4 P% g. w+ B4 Z int exp; /*zhishu*/ ! z: O/ } T, S# e- ]7 \. x struct poly *next;- }+ V7 H' q2 e }Lpoly;

Lpoly *pa;

int cf(int i) /*10^i*/* Z7 _6 R! b7 C$ y1 M, W {% C3 Y- A# r( _0 @4 u n int c = 1, j;; W( ]* v) {# d4 ?! R/ n! g for(j = 1; j <= i; j ++)* \6 `' }1 P) I6 _0 i c = c * 10; " z' z) y0 ?, r" j( O return c;3 U y8 t- s% U0 w5 ?0 O9 h6 e }

void input(char a[],int j)/ g" s0 i2 g! D% w N; ] {1 Y6 d5 e# Q5 g! g. H9 s Lpoly *p, *h, *ptr; ; x" S' L a6 o" Q$ k int i, k, flag = 0, x = 0;# Z3 r" B: T/ g) P S.top = -1;4 ^1 L1 H6 |9 Z' y7 ?' \ pa = (Lpoly*)malloc(sizeof(Lpoly));: o# Y. M/ e) B; F! u& p) ?" y3 D9 I pa->coef = 0; 4 A: `* y7 {8 |, m- e1 A" i pa->exp = 0; & P0 o- P" x9 R# ^8 ]1 x8 P2 b h = pa; & C) F/ B* @ x: ]" _ h->next = NULL;4 @" P" D; P3 g+ m8 P p = h; /*jianlipa*/ 2 h1 B, o( ]# u 7 ]* {2 h8 O% r; I4 b0 B1 | for (i = 0; i <= j - 1; i ++)3 ?* e8 G/ h7 d& Z E# j! q {+ _) [1 Y. I8 h/ r ptr = (Lpoly*)malloc(sizeof(Lpoly)); 0 X! d+ D& ]! \) P$ r1 p if(S.top) ( T. ?- A% s, X( q- L8 \$ p { 5 t x3 ^7 v ^/ K5 U) t S.top ++; . R6 M; I d- f4 k( E S.elem[S.top] = a; q ^$ F" T3 Y4 \ } 1 e6 F) [+ I0 ? if (a == '-') 6 v/ v! ?7 B) F& T: N" q flag=1; 8 W# F- w3 q1 g0 I! l+ n/ E 6 R o. u/ y+ [ if(a == 'x') /*fenlixishu*/ 6 _5 j( Q/ Z! F4 ]$ O { / F. K& R5 w; [ x# V, E! J: j9 Z if (S.top==0)3 _0 @% C1 U3 z7 o! R/ A6 D {$ [: z0 g; \2 Q6 P9 r if (flag == 1) % p- R; W/ i5 p2 D2 I1 ~ {6 ~3 v) _/ h1 E7 G. y2 l ptr->coef = -1;& s# I; [; {0 ?) q$ ~ ptr->next = NULL;1 [/ _ N* e2 T! P+ B( i' i } ! c# S0 v4 H5 J9 F1 M7 G3 [+ C else1 y( h5 @1 _( K2 G {# j+ d0 e4 E. I' K) @: D2 N ptr->coef = 1;0 S- r" t" N$ P ptr->next = NULL; 2 Q- }3 [1 P' M/ y } 7 n- a0 F) D& \$ E. d& @) f } ' W D9 f9 d" `: o0 M, [( Y& E else 8 G5 F7 d& M) T/ W# S8 w# r { 0 D- g/ c% y: R, x P+ T B* T for (k=S.top - 1; k >= 0; k --)! D+ e* q) O$ a# _5 I( Y# g x = x + (S.elem[k] - '0') * cf(S.top - 1 - k); 7 ^2 H3 e+ i* S9 } ptr->coef = x;+ u8 @. @) j4 ^+ l ptr->next = NULL;' e! v) V! Y/ @$ S3 w8 Q x = 0; - V* s. {- L4 o# u7 s: t8 O1 B } p$ `9 G9 x7 N3 U S.top = -1; % v: G, B% N# u3 l* b) C flag = 0; /*clear*/! ]/ B! u' A. G6 v% K% t } |- Q* G) [4 C8 c# {. s if (a == '+' || a == '-') /*fenlizhishu*/ ) e( E+ j/ ]* b {) B, `& q s- z. r if(S.top == 0)1 @7 A* f! ]1 r' V) F' W {- N- V. ?3 O% s6 Q7 }) b4 m ptr->exp = 1;1 h& A) i0 r7 J ptr->next = NULL;, H6 K0 Q, i% ^ } 1 _* d! i" |' ? else , X1 [- J% w: b { ' E# Q0 ?+ P- `+ [# }( y5 ~* c for (k = S.top - 1; k >= 0; k --)% W5 p+ L9 O6 ^' C) X/ P x = x + (S.elem[k] - '0') * cf(S.top - 1 - k); 3 z; M( _) H2 V: I ptr->exp = x; 3 d; @" K, y4 ~: b+ ` ptr->next = NULL;8 U+ S, l+ @+ t7 d( q x = 0;7 K( {: f9 c z" Y. k/ E }/*tiquzhishu*/% ~6 P$ W4 j" q S.top = -1; 3 f+ a3 B9 ?' F. [ }1 }9 D" ~* [* Q" ~! V if (ptr->coef != 0 && ptr->exp != 0)! }' i0 [5 b: B4 f v { L8 Y2 h5 k) n/ d1 Y p->next = ptr; E9 g, {+ E. X, g" I. K- ] p = ptr;# h i( s% J6 ~2 r }) C+ S3 E/ j* S' z: A) \9 V& B if (i == j - 1)0 u6 S" u, C8 v { ; N* P7 x1 M' ~: t0 E8 m4 s S* h if (ptr->coef == 0)2 A, g( B& e: Z {$ g) h$ K! p0 z- s3 P for (k = S.top; k >= 0; k --) & g, j" L9 f5 d) B3 }7 y x = x + (S.elem[k] - '0') * cf(S.top - k);( a1 F. e# G) q, x$ M ptr->coef = x; ; H& x+ g6 \! J9 Z0 y ptr->next = NULL;% M* H5 _9 Y. K }3 T' X/ I Y3 r0 ^3 ~# X else : X, S' G5 X& _ { J' L: X1 k8 m0 Z$ [- a0 p for (k = S.top; k >= 0; k --) . i/ t; \5 X# m: J% O& k N x = x + (S.elem[k] - '0') * cf(S.top - k);0 t V0 y8 [/ m2 U/ x ptr->exp = x;( D3 i4 S" c$ L( q( i1 D# ] E ptr->next = NULL; 3 h5 Z3 x z8 Q" \3 y0 d } " f3 o" C7 E" I5 x# w9 v, Y p->next = ptr; K, \- P- R! q( X" n8 z: F0 _& Q4 g7 v ptr->next = NULL; 3 D4 U: C/ v- c! {$ ] }9 V- d, B _4 p7 }; U } * [2 [7 f) m7 |; G- m+ @}

void stinsort(Lpoly *pa) N2 _ N* ]. V! b4 \" F. l8 ?5 {8 e0 H{2 c0 c) B5 M, r6 @ Lpoly *p, *h, *q, *k;. b4 g: j4 R. |: ^0 ]9 G h = pa;0 ^' g: l3 `+ | q* [+ h p = k = h->next; 4 q! ?; x# A: N' L7 M. z q = p->next;% F1 R+ T- _ k while (p->next != NULL) 0 g7 R$ ^! Y9 c& ^ {2 A3 C( i: e0 q if (q->exp) * j- w* p% w! u o7 F( N {1 W0 r: w$ A1 S6 X while(q->exp > k->exp)4 q d# L6 f( y' C# n { 9 r5 P7 a3 t. e& u k = k->next;6 V) ~2 n0 l8 M$ o h = h->next; 5 O- ^! a* j2 C* S }& e* b( H3 Z4 u. b8 R: z- i if(q->exp) 4 l' Z: ?3 B) d% b% I6 \/ t { ! }; z, j- B* `3 _4 c" ~ p->next = q->next;% R2 v' K9 p( h0 l8 C h->next = q; ( D0 J* I8 x) U q->next = k; 7 {6 w; S$ D/ S4 o% x q = p->next;6 S& n* ?5 I8 Z4 h }' F1 Z" h; M/ h, z if (q->exp = k->exp)/ `5 ^4 s) m- M p6 w/ b {$ l! K9 Y5 I$ ]! c k->coef = k->coef + q->coef;6 L% b& _5 @' Z0 z. j9 n* U p->next = q->next;1 j2 L) B0 P: f4 [4 X q = p->next; ' [- {% P( [8 ^* a }7 K+ a) c; e: U h=pa; * C) n' {7 b1 Y7 s k = h->next;- w/ k9 J+ L; Z0 ? } 5 s1 a4 `5 x' |0 L, e 9 Z! C G& @/ ~ if (q->exp = p->exp); F5 j! |7 s/ E5 B { : w. }6 @, J. l' k. R- P: {0 @3 u p->coef = p->coef + q->coef;9 H- ~. f& C! i2 s5 H2 l p->next = q->next; % I" f" {5 d( F6 y( _ q = p->next; 0 A5 o/ |3 |' x6 v$ b- j* D } ( [* P0 l. ` k+ E m: A if (q->exp > p->exp)) |. ^, I4 ?. O" r5 \ {7 o+ R; X$ `4 U# `3 u q = q->next; 1 e: l2 _+ I I; i p = p->next; : R, S, I- d2 r( l7 Z3 } }" K4 W1 Z% \4 [# u } . p; a: P% A: B/ E+ b}

main() 8 G+ y) x& _! O- C3 _) @' N# @" J{ $ W' ]0 f- H1 C8 y$ l1 I. P int i, j = 0; - n5 \2 s: q3 Y; W: D printf("a=");& ^4 d. F: k! F6 w scanf("%s", a);! M7 z5 d4 N/ y# l' O j = strlen(a);

input(a, j);2 q/ O+ e: q, \3 D$ I stinsort(pa);, M P) [3 k9 ` printf("a="); + N! Z, X6 t" B% l5 | for (i = 0; i <= j + 10; i ++) w3 H. B& u/ E" P { & X5 j8 d! _& J# y' z printf("%dx%d+", pa->coef, pa->exp);" N" G4 t$ m) r$ E0 Q, l. b pa = pa->next; * X; N8 t& N% L% C$ l" l } S5 M# L0 H/ A0 j1 C- N( `- z3 [1 U7 V+ b } 9 A) L- o( F# Z/ n! T9 P

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

该用户从未签到

7
 楼主| 发表于 2005-9-17 17:28:00 | 只看该作者
这是上学期的数据结构课程设计
6 G+ @8 s/ _  V$ Q. [" d* d( [3 P, s4 _结果我已经弄出来了,得了个优秀,没跟大家说不好意思
% j% r5 o& v2 ^+ j多谢大家给的意见,我现在水平还很差
; a. l1 Z  L' a8 ~* z' ^至于注释都是给自己看的,发到网上的时候没改,呵呵~~~~~~
  • 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 下一条

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