下沙论坛

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

QQ登录

QQ登录

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

[求助]请教各位大虾

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-7-6 10:23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我的数据结构课程设计 - _+ ?& \' A4 b8 d8 k实现一个多项式合并,字符串输入多项式,链表插入排序 " @9 A# U0 F. `7 Q可是我运行出来结果不一样啊,大家帮我看下哪里错了,小的在此谢过啦~~~4 w$ L! m- |& r9 o, S* N #include; Y, {1 W7 C/ \$ h* S* Y4 F2 ?& m #include4 z# Y3 ^% ~8 Q( {5 P #define MAXSIZE 400 # T# Q5 X$ ]: ?char a[MAXSIZE];9 H$ @' \4 M1 j# i typedef struct{char elem[MAXSIZE]; 5 s0 `0 P! b: F. Q, C% d int top; + W7 d% o: |, T j: E" \& g& N- K }SqStack; ' R& ?, A+ D5 lSqStack S;+ \$ K& h: p, V* {0 ] ]( C) b5 a typedef struct poly! w% g3 K% \. J s! f9 K' W$ Z! d {int coef; /*xishu*/; c# N& l/ }. t' Z int exp; /*zhishu*/ 8 Y9 y% Q0 m* Y struct poly *next;0 O! s3 X5 t3 y" w }Lpoly;! Y. n: O9 a1 d3 |- U2 R& M( t Lpoly *pa; $ l+ b1 ]6 n2 z; p, s8 w. i4 H$ J7 bint cf(int i) /*10^i*/ $ N0 U+ A5 g' u, p' c8 K8 {{ int c=1,j; a; O" N1 Q3 X5 b. G for(j=1;j<=i;j++) c=c*10; , e8 \" @% T8 h5 f$ K return c; & ?/ p1 e3 G5 i- g1 M7 W} ) Z3 N( V I2 ?& U* ?9 Kvoid input(char a[],int j) " L5 {7 E- x2 n1 n$ v, `+ d{ Lpoly *p,*h,*ptr;3 a' X' @0 D+ N int i,k,flag=0,x=0; : Z/ h% `3 J6 f( l+ O6 [" t' o# h4 x( ^ S.top=-1;0 G* c6 a+ p$ c$ |( y, [. A1 L pa=(Lpoly*)malloc(sizeof(Lpoly));5 s& X; A! H6 V pa->coef=0;pa->exp=0; 4 J/ i p* ?, i, \5 ?5 ^ h=pa;h->next=NULL; ( S8 c9 t8 E8 L1 K p=h; /*jianlipa*/ L7 l- [7 R0 Y& [+ e/ D for(i=0;i<=j-1;i++) 7 M. e+ |$ O9 _8 G {ptr=(Lpoly*)malloc(sizeof(Lpoly));) y5 Q& C+ K& A2 [. ] if(S.top( R- f1 S! r6 J7 k {S.top++;/ r( } d: u' H S.elem[S.top]=a;3 \, P" f' }4 G' D+ g- ~ a( q" z }& a: U; Y D+ \$ J if(a=='-') flag=1;; Y( I1 r) U! K6 j7 y: K2 j" @ if(a=='x') /*fenlixishu*/* _, t" |5 N; S- ~0 v+ { {if(S.top==0), G4 E7 X: @( O) w# D, h& K {if(flag==1) ) G% \6 t+ \# h1 D# H) K: z$ Q {ptr->coef=-1;ptr->next=NULL;} , I4 s- B6 L2 B" u* D6 f6 u else2 p- P* M N! ?1 o4 U) F d {ptr->coef=1;ptr->next=NULL;} + e+ C; z' E; W5 W7 z }- i! G/ u" ~# ]' | else, k- F3 j+ f$ y7 T- F3 A7 q0 f {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);5 x8 m/ v6 c) F- O ptr->coef=x;ptr->next=NULL;x=0;: ?" F! D* u0 D9 S- i+ q3 | } 3 S' d( z# x" y S.top=-1;flag=0; /*clear*/ * ? Y) g) r- p* p } ( x- R7 q& y3 S" @, G+ \# J if(a=='+'||a=='-') /*fenlizhishu*/ $ n4 Y1 N) b3 y$ r {if(S.top==0)9 g0 @4 B9 K3 Q$ n4 _; T$ B {ptr->exp=1;ptr->next=NULL;} S b% @2 y5 T$ A, {1 ` else @3 i: w0 n& `8 G7 r# u {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);( X* o% u8 ~6 @. P& i6 O8 `, H8 [ ptr->exp=x;ptr->next=NULL;x=0;$ W) |& q% _7 J6 i. y) g } /*tiquzhishu*/1 C9 M5 V% B v S.top=-1; , c4 z) z) x& k8 p } * k) R( ?3 j9 g* Q7 s% c1 W0 T: q if(ptr->coef!=0&&ptr->exp!=0)6 n3 i' w" B2 l8 N" H$ i {p->next=ptr;) P% k5 l8 {+ ?( e p=ptr; 5 j- w! L/ t, P) N% J9 t } / F* o5 g. {0 F) f4 K% ^ if(i==j-1) . o N. a# G) u0 N8 j' K {if(ptr->coef==0) % S+ `' S' w% Z: p7 r {for(k=S.top;k>=0;k--)5 h. k7 ]: S) H: U$ o( M/ @1 I x=x+(S.elem[k]-'0')*cf(S.top-k);0 v7 C L$ Z) N8 z ptr->coef=x;ptr->next=NULL; ! \, b t9 k- D6 n- d } , u# u; X' s( r. D else 3 r5 u1 V, r3 f" ] {for(k=S.top;k>=0;k--) 5 C( a' }8 S* g8 A4 g) ^& Z9 ? x=x+(S.elem[k]-'0')*cf(S.top-k); ; H- H" @; M, a- `* p ptr->exp=x;ptr->next=NULL;) A4 X7 G0 G0 l6 U7 m& A }/ p6 [! f: E/ t" w7 t2 ~6 b p->next=ptr;ptr->next=NULL;& C0 A. F0 Q) E- e/ I7 G' c' Z } 5 |8 M; r& o/ Y7 q& v* v } 8 i" q, C2 Y: q# G4 p, x7 u}: {% {* h" D( q) d void stinsort(Lpoly *pa)8 [. N) p* U8 P1 Z { Lpoly *p,*h,*q,*k;+ }) M7 ?8 K4 w& U$ m h=pa;p=K=h->next;q=p->next; $ @9 C8 d. _0 a6 S* A while(p->next!=NULL) 3 U/ g# c- _" _& j8 k: H! c6 I( J {if(q->expexp)' H8 P% @( R! p {while(q->exp>k->exp) 7 e5 j/ K4 E5 \ {k=k->next;3 v! n+ d* S2 g) s3 k* x h=h->next;* D) K' j- Q' d0 s0 u& o$ C% J0 L }2 l$ f: N Z' c% P( j2 S7 b if(q->expexp) 3 R6 |* G _ e6 n6 R {p->next=q->next;+ V; G) V+ l+ R h->next=q; , R+ @4 G* P6 V+ H q->next=k; 4 d$ k! g! \+ n! k7 E9 D q=p->next; : a0 T% I, [( x% l3 l5 |6 P }- n0 {8 ?1 {% W. z$ } if(q->exp=k->exp)% D* l. b# e7 D$ X f' a) n) E4 ^ {k->coef=k->coef+q->coef; / B# U& }5 N- w+ N( u& o p->next=q->next;( ?8 R, b, C4 o' ?% w3 J2 h' w7 L q=p->next; J- w. {8 |1 T" |% L' z } 5 ~; a% t8 t" Y1 b4 k h=pa;k=h->next;8 N9 j+ [3 L" Q$ Q" X1 p }* z, e4 |& m6 r$ d. q/ M6 c if(q->exp=p->exp) 7 W# r# Z' o5 P' Z; k4 L$ ` {p->coef=p->coef+q->coef; # X8 V" p* Q3 B' ~ p->next=q->next; 3 q2 J3 x. v7 K4 m, M: v3 e( m q=p->next; ; p9 ~) u; |% l; R9 k } . ^3 a" p; g0 P if(q->exp>p->exp) 6 a' \5 L. ` U" S9 P {q=q->next;' P, j* e0 @3 |; U0 f$ H5 D4 s& W p=p->next;: U. w, Q3 ?' c$ F& r- N* ] } % h7 C& ?- k" ?6 } }3 G2 ^: E/ u9 A+ q3 Q6 z$ n2 m% M } 7 i U' U8 V2 `* ~main()3 y- p u. E# G2 Q% G5 h { int i,j=0;: [% v, o$ u( V1 B( a printf("a="); ~5 W9 |# m3 v9 P! r& B scanf("%s",a); 9 X& I) D& E8 f9 z7 u9 c for(i=0;i<=400;i++) 1 F1 o9 U* @" G7 i {if(a!='\0') j++;}: a U( I! o, r* `4 [3 J input(a,j); # c) K/ u; |# a9 u3 I- ~* B$ z3 K stinsort(pa);6 P. F( M; j7 [: n3 n) s printf("a=");" i# Q2 }. d5 l$ m1 j0 @, o for(i=0;i<=j+10;i++)) }& v% D" B2 @" d; y6 S {printf("%dx%d+",pa->coef,pa->exp);* F x) ^* C2 } {, f3 A pa=pa->next; ' S2 K8 R0 e ^) N+ l( o. o }2 ~4 H, b3 T" Z x! D }
分享到:  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" ! f+ c# v5 q! j% A$ X#include "string.h"0 f) `. M7 D7 q$ s! B5 D( }1 q #include "stdio.h"

#define MAXSIZE 4009 J5 _$ ~6 H9 T' t7 n9 X char a[MAXSIZE];

typedef struct - H7 `7 E% E$ P! t{ ) b* Z0 q0 T( M5 | char elem[MAXSIZE];- ]9 z, q1 F4 Z6 [# v int top; : S$ y! W4 B8 w1 L& r}SqStack;

SqStack S;

typedef struct poly + l F. o( r0 m, x4 N4 ?{; J/ \* f; Q, e, _$ ] }) g int coef; /*xishu*/ + Y# B' S% g: y& v int exp; /*zhishu*/0 P( p. j& F" h" \9 W struct poly *next;: M2 v8 Y7 T# v& a' T }Lpoly;

Lpoly *pa;

int cf(int i) /*10^i*/ \6 h( ^3 H/ N5 ~! f$ q. ] {+ v' p( w0 B/ o A int c = 1, j;+ F4 ], Q h; r3 \9 U for(j = 1; j <= i; j ++) * w2 h6 M: h I8 j/ v3 k+ N9 W c = c * 10; ( ]2 c- W n+ F' v return c;% w" t! A5 U+ E( K9 ?! t }

void input(char a[],int j) 0 Y% Y8 `; U' j& ^+ C z1 a{' p# Q( h! _- `& `9 Y Lpoly *p, *h, *ptr; 1 m c& ]( |6 g int i, k, flag = 0, x = 0;9 u3 O' w: V; k$ i S.top = -1; - x8 ]) L. M. V' c8 d- O! c pa = (Lpoly*)malloc(sizeof(Lpoly)); ; o; D8 i' z1 G. D" I. { pa->coef = 0;0 F! L2 a0 X/ K! F( I pa->exp = 0; / c1 o. s- x0 I; M' X5 O5 f5 j h = pa;% F) w) h( J: [# N- i A* [ h->next = NULL;0 r# o2 Z) B8 D' y4 t& V) p p = h; /*jianlipa*/ $ X' e* Q6 s- h3 O( a& u$ I7 J+ c ! \2 ^, c7 v+ K$ V4 r& N for (i = 0; i <= j - 1; i ++) * b, k) w" c- J {0 O$ e3 n/ A0 { ptr = (Lpoly*)malloc(sizeof(Lpoly)); _7 B5 c i) o8 \$ F f9 W2 V+ z { if(S.top) " y. h3 n5 O4 o1 s' [) p8 t/ { { 4 D5 y0 p" _# q S.top ++;5 R# G3 j( N& D2 |5 C5 c; w S.elem[S.top] = a;' ?% O& |; |1 Q. w } 7 `! H; {4 h2 U+ C if (a == '-')0 [2 ?+ Z) A, x/ B flag=1;, R; f9 n0 X M9 ^7 C" ~ 3 A# Z) q! x! q! U& K if(a == 'x') /*fenlixishu*/ # W3 P4 ?3 y! _3 v {1 V0 y S# C* b/ J Z* \4 J% K if (S.top==0): Q& \ s0 k$ k% ^3 H9 j0 k {- L( v- r' Y& A* O0 M! f if (flag == 1) / \7 q7 C' I; F5 M! [ {$ r$ Z J8 K" `/ ]' N8 l5 Y ptr->coef = -1; $ k& `) w- d- x8 w! { ptr->next = NULL;$ a, n4 X8 v6 A, V6 j }3 |4 I6 c% X. [) W else, i# D- R5 W9 p/ n4 x {2 H/ |# F! M9 _: j. C ptr->coef = 1;8 p, ?, j! I4 ^. S @, x5 [5 b# f ptr->next = NULL; P2 ?$ T8 [, g2 O% N+ ^7 _ } ' A6 u+ N! X$ [, p } s3 c8 v, X' x7 @ else1 T) c8 C3 W& O { ! j8 a4 N' Y* a# a! g# F X) ] for (k=S.top - 1; k >= 0; k --)* X1 G. V& m5 {1 Z( \; R x = x + (S.elem[k] - '0') * cf(S.top - 1 - k); + c& T0 p4 |* k3 V ptr->coef = x; C( U7 R! q* E$ \: s ptr->next = NULL; 6 V" Z X7 o( y$ S! b% e( V7 T. h1 D9 F x = 0; . u: E) s" e2 w9 F }# P5 R k# ]- D0 S. ~ S.top = -1;" E% U, M# d2 o9 s flag = 0; /*clear*/ X% h1 `" c! E4 B/ ~ E } / ~8 o( B, }& O* }) n& [( p if (a == '+' || a == '-') /*fenlizhishu*/% e7 Z6 ^# p v {! B. S7 r' u: [; W if(S.top == 0) ; W* V1 R+ O* @0 p4 C8 S { # S4 D3 f% j# p( L ptr->exp = 1; 1 W3 J) U% c& p& x% Q ptr->next = NULL;0 z3 F" K' O( [- o" t }( h( v6 C* ^, Q3 Q else% w: ^" Y9 a' W5 O# I6 o% ?$ z { 2 V/ P5 R* A# a2 e/ k. p/ S for (k = S.top - 1; k >= 0; k --) ' G- ]5 n5 d! q1 o x = x + (S.elem[k] - '0') * cf(S.top - 1 - k);' i# {! G! z1 N ptr->exp = x;2 j' I1 ?8 M5 |- o" N5 T ptr->next = NULL; / C/ f! a( P0 ?' K+ I& z x = 0;0 a3 p- r D: D" [ }/*tiquzhishu*/: }6 f; v1 X7 j J' l S.top = -1; W) B4 O- c3 t' l4 E' b }0 l) k. e G% X/ r+ E if (ptr->coef != 0 && ptr->exp != 0) ' l! w! s" _) S {4 l: S x5 B" T* }' @$ @) ` p->next = ptr;: r3 I6 I+ y. [5 b5 B8 B0 r p = ptr;( ^" j* Q, c! U& ?8 `! l' X0 W }* ~6 t0 O B" N+ \1 g if (i == j - 1) ' W( z/ h! m- f1 v3 E0 W4 U { ( o8 n( Y- u. B; d" s if (ptr->coef == 0)8 Y# M. a/ U, B8 P {+ a$ S, S& C% U for (k = S.top; k >= 0; k --) * i$ J* @- D. ~: D. B x = x + (S.elem[k] - '0') * cf(S.top - k); % F6 z9 N" j3 x+ [) C; I ptr->coef = x; ' q& I0 B$ V- F( Z2 U ptr->next = NULL; ; ~ t7 W5 X, Z/ i* ~# R- C" ?8 l }, Y, X" V" |% P; k else ; h% F8 _1 S7 M% t% O! m { * i2 W# o& ]# {# y e for (k = S.top; k >= 0; k --) " `- t6 X) ?0 [4 }) z( r4 `: g' W x = x + (S.elem[k] - '0') * cf(S.top - k); 7 y/ y! q" V" k0 w1 | ptr->exp = x; $ V4 s4 K* n* ~. G: ` ptr->next = NULL;+ y @2 L( w- j) S8 J1 n }: N+ @0 ]: P7 y( b' X$ x0 U( } p->next = ptr; * p8 |" p7 a# b3 R# b" H/ @; b# S" M ptr->next = NULL;" ]) j1 o$ [# A2 i( X% t {; ^ }8 ]! U" r, B# h2 R! \9 m( F( O9 K }0 j; A% B/ G: x+ U+ P9 ~$ t4 _ }

void stinsort(Lpoly *pa), M* w u3 E X { 7 y) h8 |* D: u3 t" `4 z Lpoly *p, *h, *q, *k; 0 E9 \4 Z9 P4 e4 h! U h = pa;, Z6 T/ R' F8 _- K1 c& V. J p = k = h->next;8 C9 ?/ P ` M& e2 s4 x4 h/ k q = p->next;6 M" Q8 `/ b+ m while (p->next != NULL) 5 n* ]! E$ T4 }- K; T {; w& v( ]" H# b% ?* f& n6 X, r# q if (q->exp) ( d: S. }+ ]! h { - U( z7 X2 W" d; g# J7 H while(q->exp > k->exp) * r) W1 o9 b, q+ G. U: b { b3 _8 U; D) u k = k->next; & x9 i1 n8 E( J/ Z- m1 D h = h->next; 0 H8 h, ]" a8 x: a9 y6 ` }5 G( G6 s$ T' E! w if(q->exp)3 e0 U" m2 T, D% E: b( X { 4 s7 `6 U+ P" h2 z4 H/ | p->next = q->next; & f. {, M% x7 u h->next = q; 0 U+ ]# P/ J! F7 r- K q->next = k;* ~) h' \+ [ B: h# ]& G$ C q = p->next; 6 X0 {- B4 z+ K } Q9 K, p& s5 Q1 G+ f if (q->exp = k->exp)- l# X! l; P; N1 B {" J2 u$ _5 [. {- ?/ {# K k->coef = k->coef + q->coef;* z O" r. O# w# } p->next = q->next;0 v6 G8 A. D; H5 s( w q = p->next; 2 V5 o+ U( s! L0 Y; V2 v9 o# ` } % X' O) u! G7 z6 h5 `, { D h=pa;& c6 g1 y. x* j k = h->next; , |' J. X- R+ B P }4 j; n m3 n$ O - S! i: J! ~9 T if (q->exp = p->exp) 0 p5 R/ u/ ?4 F; t$ z {- _6 j' O$ D" M4 ~ p->coef = p->coef + q->coef; 8 Q# x6 s( F4 v) w$ B6 l p->next = q->next; 1 S* j* @2 A2 A7 h q = p->next; " l6 i t# @: L: Y" S }" P& i7 y' p. R8 T- Z& i if (q->exp > p->exp) 2 h i( Y* ]9 c {0 m/ |; P m+ i0 v6 b q = q->next;, w8 z/ b" `- y% B, z p = p->next;$ C; s4 L; o- B* K$ \; D) a4 @ }/ o& s9 d) w5 q5 ~ } 5 j% w& ~; R; `# D5 I# h}

main() % n# v. C1 E L$ y1 [{9 y* I% K4 l% ^ int i, j = 0;9 e; c$ Z5 [ U- z( P) x7 C/ m6 H printf("a="); " W# f3 ~7 ^# b4 N) ]# }/ h' u scanf("%s", a);& u/ v/ O% i/ z, m+ k4 [ j = strlen(a);

input(a, j); w$ G- ^" ]6 C) w/ o stinsort(pa);7 K: ^0 t( F( j0 L% x" {# h printf("a="); * I4 H( p2 q5 \, r% } for (i = 0; i <= j + 10; i ++) 3 h: h9 Y" k9 r6 R( b, g( T {- @6 ^) U }2 v: F printf("%dx%d+", pa->coef, pa->exp);6 {$ u' b7 N& l% T/ R pa = pa->next;4 e4 m4 [" L% Z7 T0 H8 t } , q8 B& n: o& [; j% _, ]}& M( C1 R9 y' ?- b# b6 e/ E

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

该用户从未签到

7
 楼主| 发表于 2005-9-17 17:28:00 | 只看该作者
这是上学期的数据结构课程设计
4 y; U  J5 e- V结果我已经弄出来了,得了个优秀,没跟大家说不好意思
! y  z. _, B0 B+ P6 R: u多谢大家给的意见,我现在水平还很差
" g9 S  ~9 ?7 `3 H5 m+ E至于注释都是给自己看的,发到网上的时候没改,呵呵~~~~~~
  • 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 下一条

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