下沙论坛

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

QQ登录

QQ登录

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

[求助]请教各位大虾

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-7-6 10:23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我的数据结构课程设计 6 k6 W2 B+ [8 f1 W/ B0 z' G实现一个多项式合并,字符串输入多项式,链表插入排序. g+ Y7 i0 b( {5 D4 x) l/ @ 可是我运行出来结果不一样啊,大家帮我看下哪里错了,小的在此谢过啦~~~ ' | ^; D2 U7 a% ], k#include2 t# b3 ^! i% k/ ?: U2 m! Q #include ' Q3 s% \3 k* \8 o* d#define MAXSIZE 4009 }+ R: a# l. W# s- y$ ?' } char a[MAXSIZE];/ E0 b+ x! l! G- x4 _/ I7 x$ S8 M typedef struct{char elem[MAXSIZE]; ; W; _: A& |# e0 J3 l8 Y# n int top; 2 A( L4 ^ O7 p5 u4 c% }1 C1 t }SqStack; 1 |! i3 t4 _8 P- r! ESqStack S;7 L: G. o! Y! o7 ]: E) B" T typedef struct poly4 l0 E, d' }6 l! C {int coef; /*xishu*/0 t0 t4 Z( Y" m1 X. J int exp; /*zhishu*/ . R: G5 t7 U1 R N2 p% N struct poly *next; # Y- I0 g, Z7 m0 s, ? }Lpoly; ! j+ w! v4 H% U- GLpoly *pa;7 I& }9 W; z" M9 a- ]1 F int cf(int i) /*10^i*/ 0 _' \. s. @- k6 ]{ int c=1,j; / s$ G: S" Z# N: T8 Y5 j8 |4 L for(j=1;j<=i;j++) c=c*10; ) d3 f, K1 U# X7 k return c; ; \9 D ]5 `) P6 P/ z" x( j) D} 7 Z+ Y% a4 s* h; e! |void input(char a[],int j) $ r! L6 V; Z+ Q; A* z{ Lpoly *p,*h,*ptr; # C0 u" T" T0 R& v: f int i,k,flag=0,x=0;3 _+ G0 M- _0 _ S.top=-1; : ~$ P( ~6 x. @2 w B2 z/ r pa=(Lpoly*)malloc(sizeof(Lpoly));$ M+ G$ L$ L1 t/ t$ f pa->coef=0;pa->exp=0;, R, G( i' Z' p& ~) V h=pa;h->next=NULL;$ ^: ]0 \6 E8 _( f" e: N p=h; /*jianlipa*/( s7 v; ~- q+ G for(i=0;i<=j-1;i++)" p9 v- y3 R4 M' W- @" u4 K m( a {ptr=(Lpoly*)malloc(sizeof(Lpoly)); 2 \" t6 m$ t% a: l7 P: \% Y if(S.top+ q/ E: b* L7 w S; p {S.top++; 5 t+ t3 k* b, {" Y0 y S.elem[S.top]=a; ! k$ J5 b, M2 R2 {) W4 C/ _3 X } ; \7 Y2 C D6 H! X/ i% ~) k0 a# w( x if(a=='-') flag=1;- t5 I1 i5 X) f5 p8 j' I if(a=='x') /*fenlixishu*/$ H! n; N6 _- J6 ] {if(S.top==0) 2 T2 t( d( _/ N- E$ Z& G4 e- M3 r {if(flag==1) $ M7 X7 Z5 p6 e& o" d% e! C: I {ptr->coef=-1;ptr->next=NULL;} 2 S$ L1 t3 I- Y, A4 a* p else " e3 I, c$ p7 v% t {ptr->coef=1;ptr->next=NULL;} 6 q" e- z6 |7 j } $ Q; a l# c* q+ K5 m else . f8 j" C" U7 x! x {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k); " U) ?; N J, c ptr->coef=x;ptr->next=NULL;x=0; ! B( f0 _- n2 r# n$ K6 a8 Y/ ]5 q } 3 |% \8 x8 r" U8 {1 J4 C5 `9 \ S.top=-1;flag=0; /*clear*// K* h1 E3 `3 k: R2 w& z" s; y }7 F3 t! D6 R+ {' Q% R+ w if(a=='+'||a=='-') /*fenlizhishu*/* b0 s. M' W* y8 q* M {if(S.top==0) ; p" k1 q; q* ~! K8 k7 t {ptr->exp=1;ptr->next=NULL;} 4 ~9 d* b. u/ o `$ ~2 ?+ o3 t5 F else+ h, E1 r3 O$ {6 k {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);/ r% V1 ~; l( v) z* x2 y5 j+ j) K ptr->exp=x;ptr->next=NULL;x=0;- ~' ^( f9 \: G9 X- t" o6 | } /*tiquzhishu*/+ W- R: H) v) ?4 F6 [, c. {3 ~ S.top=-1; * Q1 d0 F0 M' h! O; E! Y* g" g } & `6 l$ }4 T D" j if(ptr->coef!=0&&ptr->exp!=0)' }/ z; E( d% ~+ X {p->next=ptr; 0 L1 H% l" }9 O0 r p=ptr; ) ~: P7 r9 l# P5 Y. H: K }: m1 z, k* A6 _- |4 X: ` if(i==j-1) 7 h- I( v+ K% h, H5 y {if(ptr->coef==0) - |5 G# n! Q8 Z+ w {for(k=S.top;k>=0;k--) . A$ P9 f' F. d3 l& X* L4 [8 f2 ?& K; l x=x+(S.elem[k]-'0')*cf(S.top-k);8 S( g- X9 E1 p j% R1 u ptr->coef=x;ptr->next=NULL; }# Y" [, T. c) n" D: e }5 v# ?' c3 C8 @2 j8 ^: Z. A else; R- m! T+ j3 o9 ~4 h. `" ?7 v* } {for(k=S.top;k>=0;k--)6 C8 {1 W) \3 l4 v$ U$ L x=x+(S.elem[k]-'0')*cf(S.top-k);- _6 J6 D. O/ T% i( l ptr->exp=x;ptr->next=NULL;5 z2 h% w: X+ G3 y% ?6 d t! F } , k& s2 [3 _3 m" c0 E2 `8 x# d/ P p->next=ptr;ptr->next=NULL;9 Q' @ i! L0 o) A }3 U$ }7 T' g! O) ?! F" C } 7 [% E6 d1 S; V}+ ^2 A/ r* {( C/ f8 K J void stinsort(Lpoly *pa). X6 F1 @9 `7 ]9 O" \3 ^8 @ { Lpoly *p,*h,*q,*k;. y% B9 R( r/ D4 C3 a h=pa;p=K=h->next;q=p->next; , o; c' U8 m. i' g while(p->next!=NULL)1 \: W. U8 S" z3 G: G% a; A {if(q->expexp) 4 k; Q3 Q E* W3 Q {while(q->exp>k->exp) 5 c; P6 P- c+ x, i- q6 v2 s {k=k->next; * z/ k9 C" H$ d7 B8 { h=h->next;) m2 \( r! R. ^ }8 J2 N p# b( u; V( Y- R6 K1 L4 A if(q->expexp) 4 k. ?1 P$ z a7 j2 r) Q {p->next=q->next; . g f, p1 A* h( ] h->next=q;, }1 Y" [9 F4 | q->next=k;, t. y/ p6 e; L4 ] q=p->next; 5 ~# k; F, D6 C$ m8 e8 H }$ v% r6 H+ ~, y2 H# a if(q->exp=k->exp)! \4 ?3 Z, [* D, g% O2 }9 L {k->coef=k->coef+q->coef; 7 W, B+ h/ C/ c( R p->next=q->next; , Y( L q* z, X2 w3 m# v q=p->next; ' ]2 L) A5 f4 e5 @ F6 F" P6 v }$ t2 }# b& W% v1 R3 K h=pa;k=h->next; ! o4 W. j L( ]) x }8 a9 |; S( Q/ q6 C if(q->exp=p->exp) 8 y$ P4 X6 M4 M$ ^- } {p->coef=p->coef+q->coef;, k7 F" F4 Q- e: O) q o$ F$ d p->next=q->next; m T' T. k4 D4 h1 E. Z: t q=p->next; & w, [; F% |& O% g } / i8 A8 d; m E" P6 E3 v2 @9 H! C if(q->exp>p->exp): V2 S9 f/ x2 w) B {q=q->next; - z* b4 z5 _. ]9 y2 {* e: g2 I5 Z p=p->next; # P- Y% x2 |5 L/ Q5 m+ K, z) S) E } , k; O: j# W: u+ W2 D* V } 9 h' e1 G9 n0 B6 Y, v m! W3 A} , \/ Q( O7 K- x9 l0 Imain() ) h4 j6 U, e ?3 u2 X% P& ]{ int i,j=0;' r: v) D$ O/ S0 i% N4 ] printf("a="); # J% N8 }+ d2 h8 v! \1 o8 B$ i4 H/ T scanf("%s",a); 8 a) o+ |# |: p' K! \( n for(i=0;i<=400;i++) & ?* T7 g- g3 z7 t. B1 n {if(a!='\0') j++;} 8 {) R% a4 t) p$ N! t6 U input(a,j);* z1 c s4 U" l; T stinsort(pa); ( i) p7 F' I- q3 p3 P9 f printf("a=");3 W) Y& N) {6 b' M" y for(i=0;i<=j+10;i++) % v8 e) V/ q) T5 E$ ] {printf("%dx%d+",pa->coef,pa->exp);% `& v, ?+ J. {5 j! ?5 w3 e pa=pa->next;7 V/ g4 F/ u) V1 P } 2 o4 ^0 E1 I- }# b4 U}
分享到:  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"4 ?( ^( _ |" v, K! h #include "string.h" % W. r8 C4 z- l8 n#include "stdio.h"

#define MAXSIZE 400 0 O9 b1 N6 i9 k8 p1 ]# _. h$ a% Gchar a[MAXSIZE];

typedef struct 9 U- |5 w, A# b T7 L: _{% _ S; p% m8 B, X char elem[MAXSIZE]; ; v! k, [3 o. Q int top; ( O8 I3 g) b7 I# A}SqStack;

SqStack S;

typedef struct poly7 K d. ?0 ?5 @! e& ~0 R { : X+ ?) i% q. X int coef; /*xishu*/ 9 v3 B- W; E* M" @ int exp; /*zhishu*/* s% G j$ t+ k A struct poly *next; # t4 k% t3 A) J* F7 h! a}Lpoly;

Lpoly *pa;

int cf(int i) /*10^i*/0 l8 u! [) l6 M( Q {2 A: k/ }0 Z- h int c = 1, j;5 r- F! w1 m* i/ t. k! Y! u. Y for(j = 1; j <= i; j ++)7 J, j9 [& I4 s& L I( u4 k c = c * 10; ' v# W! ?+ l f+ ` return c;2 Q; r* U4 D5 Y; l! P }

void input(char a[],int j)# ~: i# M. E2 ]+ K { X4 B0 w0 A8 F. n( ^4 c, M Lpoly *p, *h, *ptr;% d% Y4 [0 J3 |$ g int i, k, flag = 0, x = 0;: H5 Z2 ~' a4 }; b1 j S.top = -1; 6 b& R, l" ?9 y) b5 V$ G% s pa = (Lpoly*)malloc(sizeof(Lpoly));; c5 V* U& M5 j$ g" { pa->coef = 0; - F3 \3 f' N+ X! \' F1 @1 A pa->exp = 0;9 Q2 \8 n) o2 \, J h = pa;8 Y5 F' X) M1 q6 |( T, V/ m5 W h->next = NULL; $ G, X+ t( d/ k5 X& q8 n* ] p = h; /*jianlipa*/ & K0 j5 I0 j7 j1 T3 m5 s ; u5 b$ x2 j8 m for (i = 0; i <= j - 1; i ++) ! `) R0 J* H0 | n+ c& N5 V) b {5 |$ @* q! e/ I' ]4 X( ]" Z ptr = (Lpoly*)malloc(sizeof(Lpoly)); 2 C* S1 E/ |" k8 }6 _7 A J" f if(S.top)( {4 V( W1 @+ B- F; U H {4 V( p" c, @1 r' p7 p y S.top ++; 8 T% E+ Q3 ~% Y# f S.elem[S.top] = a; 2 L& P0 W W6 M2 o }! M) g& D' b+ ? S F% [, H if (a == '-')8 P' ~5 J& R5 W flag=1; , `' x- m9 J K4 f6 m( w ! ^ T4 K6 Q5 }' l+ u if(a == 'x') /*fenlixishu*/# D/ A* }8 ?8 j- o+ z { $ G; Y* s* u, C6 C; f if (S.top==0)2 C2 r9 k3 W) O- l0 i6 }! { {) n$ ?$ {* b( N1 c/ W! N if (flag == 1) * K3 x2 c: |0 e% C {3 \1 m0 j" f/ h; G/ t: k- A& F ptr->coef = -1; 3 C P' z. h0 z, g9 e ptr->next = NULL;0 E/ [& s: d) v' }( J/ B }% |) V1 b0 T" ~, @ G6 d else L6 m( U, ~( P { * \* }" U$ E2 E# _+ t2 I% ]+ x ptr->coef = 1; 2 v6 M3 X( h6 b3 ] ptr->next = NULL; : f L# t' E$ x* b, u& P/ h } 4 q) ?7 Z% Z" W# r! U- r, m8 d3 b6 G } 5 B& f; ^6 t9 ]: E, I9 Z else3 W! e! a' I+ ^6 h0 X { ! D$ ?' j7 m" J- H$ z$ r7 D for (k=S.top - 1; k >= 0; k --)1 [# ]% h4 S& @9 z7 H& R x = x + (S.elem[k] - '0') * cf(S.top - 1 - k);5 |/ d1 l/ j9 K7 b; J4 c ptr->coef = x; . Z# O: K, Y( L: i ptr->next = NULL; + g% A# Q# }$ G' l- s2 w$ j x = 0; ) F9 R% B: a6 b" x- K }. C$ t5 `- j7 n" \2 {/ D6 I S.top = -1; 1 |) J+ `" i& r! P ~ flag = 0; /*clear*/2 i" x- ~; L6 K8 ]% U+ V+ b } # {: X# t. H- }' Q if (a == '+' || a == '-') /*fenlizhishu*/+ f- `/ C! K4 C6 L( [9 A {6 F3 k0 O( H" X0 G! X if(S.top == 0)0 P$ M3 C! ~! B- d { / q! x/ e e3 _6 c ptr->exp = 1; - S$ J1 g0 X* l1 F; F# S/ I$ V! [ ptr->next = NULL; N( S/ I1 t5 t, d9 Y }( G: [2 b k5 p1 } else) C3 A5 C/ e+ U, _% L' ~/ Z O5 c {3 p1 E1 ?' d t for (k = S.top - 1; k >= 0; k --)$ q3 E+ K4 K, H4 `% ~ x = x + (S.elem[k] - '0') * cf(S.top - 1 - k); # v' w+ l/ p$ I, Y4 c( R ptr->exp = x; 9 V- H+ G; Q8 Y( b+ `& b+ ` ptr->next = NULL;3 s( A1 r* H8 T3 Q3 S' Y I x = 0;* V9 f/ T% y: C; ~* e: n% b }/*tiquzhishu*/5 D# R: K5 e, G. _ S.top = -1;& @* A! J7 i8 p/ `; O }2 A( u$ N$ R- f5 {/ f8 g/ H5 d0 ] if (ptr->coef != 0 && ptr->exp != 0): K1 k5 r; ]% {5 J d { 1 v# N$ L5 |% U1 O p->next = ptr;8 U' {! K1 f2 g p = ptr; % o( v$ p8 w& \1 X3 \" p } ) q8 h" K8 w& [$ ^; `! g. `6 J if (i == j - 1), g) q7 L- l% b, u: u' E {5 {& g5 }+ I$ W# S if (ptr->coef == 0) 7 _9 F* k/ p" {) N' G) v8 a { & Q: d' a4 r$ g1 L: O& v* u for (k = S.top; k >= 0; k --)/ @3 l9 A- b3 z; D* v x = x + (S.elem[k] - '0') * cf(S.top - k);1 A3 b: f" ?: R" O ptr->coef = x; z+ s6 `, I7 n8 q8 |: i9 u% V3 L ptr->next = NULL;1 i9 _0 ?# F+ r: ]( h) |2 O }- p0 S' m) v) y else 7 ]8 v% v- P$ t8 @; x0 [2 N6 Q { l, ^3 i7 E, K0 w, i0 `! s7 E for (k = S.top; k >= 0; k --)( v% z) u+ x5 p x = x + (S.elem[k] - '0') * cf(S.top - k);8 z! g6 s" d7 i% I ptr->exp = x;: J, k% f4 e# l+ A* g( b ptr->next = NULL;: g2 E# |5 W q' E o% v }: ~) x0 n# U. v& T5 T p->next = ptr; 7 |! Q6 ~, E# B [% z: L ptr->next = NULL; ' Q5 u& Y0 y$ q6 l }/ ]: x2 S3 r9 g2 ~ }3 p" U( s( [. S" m }

void stinsort(Lpoly *pa) . i* h# \" n4 W% o) s& O0 a6 {4 H{) ]0 h- D$ X# f& Q$ @ Lpoly *p, *h, *q, *k; ' k* ^2 G& Z. J* U# o* x h = pa;5 J( G' \, B- q* z/ Q p = k = h->next; ! B7 T5 M5 T' e; l8 u) |/ G0 x q = p->next;& ]3 V+ `- P! d) |3 x" g; ~ while (p->next != NULL)3 T$ G; @$ M. Z! y$ @, Z A# [1 I {# i" h! z, v- { if (q->exp)1 v! [, R" S- `+ k1 O {6 {( ~+ M/ P3 r, i/ G while(q->exp > k->exp) 8 ~& v! F9 F# {4 ^( o5 v% D3 A { 2 ?) O& r7 Z2 z B9 ]2 V6 F$ F k = k->next;; K6 `# \7 [8 [! K6 o1 F* j h = h->next; 6 e4 o* [/ G! J. Z }( k5 A& y2 h) F. B. q, E if(q->exp) 5 F0 |) T# w$ V% C, | {) I+ V' e/ r8 j- t/ u. i* G p->next = q->next;& W3 i* l; V `2 t6 Y8 Z h->next = q; & C, R( W! q. V% A% Q; R" j' S7 ] q->next = k;. P/ m( g. n/ K6 Q1 S) n, J q = p->next;" J% A* a9 G- k d7 d0 x } % L$ o8 S' I& r. E! Z$ \1 _4 L if (q->exp = k->exp) ; d+ W# g/ H! J {4 m- Y4 ^7 ~0 y1 {4 S" M/ I k->coef = k->coef + q->coef; , X% r" Y2 }$ v; S p->next = q->next; & N+ }+ M* z1 {& F( l U! l q = p->next;3 ?' N' |/ M8 K: U+ k1 d+ t }0 ~. z; d- @: D h=pa; ; h* Y( D- w3 Y O k = h->next; 6 h2 i9 @4 ^1 ^' x }& ^& `6 z5 L' ?+ f, J( t3 H% O / D$ R7 t, K3 k. x/ k+ C; R if (q->exp = p->exp) ' F _. y; w( B# u: b! C {0 u# \% d: z+ K$ D( ` p->coef = p->coef + q->coef; 8 p, m# w7 A4 c! k- c* Q9 _; {! D p->next = q->next;9 G1 g+ c& F* D6 C& ]- c M' q; \ q = p->next; % _1 b1 x% u& Q& w6 [- @ e } h1 d* _% v, ~2 \5 o8 G- S if (q->exp > p->exp)4 j& k- ?6 ^) r2 L) J0 W$ ] { : G7 T2 s6 M1 w" }) H4 w q = q->next; ' ^( z2 D6 X& z- ~ p = p->next; - c$ w l$ Z0 z }, \4 m7 v* M0 R5 f2 R+ s }+ p# a0 e8 r" _$ E! z+ v. c) j }

main() 8 X5 p; {, P R{ ' P& y/ L3 f' j6 r6 m& Z8 [ int i, j = 0;! A* o3 o T ^1 d9 W& t printf("a="); t! S4 T A8 t! R0 e. e scanf("%s", a);- f1 [- i {" E, z: R j = strlen(a);

input(a, j); r9 ~( J8 c; f. \ stinsort(pa);2 i h8 B1 x+ M* M8 b ?2 m printf("a="); ! d( y" [6 Q5 d* ~ L% N" A9 D* | for (i = 0; i <= j + 10; i ++) 3 D% x4 r1 f9 n2 K {* \+ Z/ P9 ~0 ? s. h" U0 } printf("%dx%d+", pa->coef, pa->exp);0 C2 O' d4 ^" E+ j: L. S4 l pa = pa->next; 6 z5 a1 J" h# A# |5 x2 M U }* }- k* Y# |! ] A6 i+ \2 g } - f+ p6 `, h5 T- ]3 v

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

该用户从未签到

7
 楼主| 发表于 2005-9-17 17:28:00 | 只看该作者
这是上学期的数据结构课程设计/ x3 b# h) G) T( \3 h
结果我已经弄出来了,得了个优秀,没跟大家说不好意思
& E' }1 V$ ]/ g! I# X0 q8 S! ]多谢大家给的意见,我现在水平还很差* C+ m, L8 }6 [" m) b
至于注释都是给自己看的,发到网上的时候没改,呵呵~~~~~~
  • 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 下一条

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