下沙论坛

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

QQ登录

QQ登录

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

[求助]请教各位大虾

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-7-6 10:23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我的数据结构课程设计 * ]! ^$ D8 e& {0 J0 ?5 F# _实现一个多项式合并,字符串输入多项式,链表插入排序 8 A* b c: D; E" B9 f" H可是我运行出来结果不一样啊,大家帮我看下哪里错了,小的在此谢过啦~~~( g% q" O) H1 H+ h #include ( ]3 [( }3 E5 Q8 Z1 \#include & e6 N' p9 j+ w0 a#define MAXSIZE 400 7 F. {7 O$ a9 h: Z7 ?: \ [; u uchar a[MAXSIZE];1 I& P$ D' e+ T/ s. }8 j typedef struct{char elem[MAXSIZE]; ( T# e" {; ^ n3 ~4 y int top;9 y6 W4 J: H- n I* a: y c% V, U }SqStack;* m$ H7 s9 @3 K3 k) g SqStack S;) h+ V1 X) x3 u( u. F( ]2 i7 y- v typedef struct poly - D" X, k+ ]3 n6 A a; z {int coef; /*xishu*/. F) [9 `7 F$ w, y# k2 y int exp; /*zhishu*/; z H; m5 i! T9 B! k- p! T0 z struct poly *next; " e: x" I, l! U) v }Lpoly;% C l& U5 p+ P% M, U' S Lpoly *pa; 6 Q; V5 _) Q; D2 l5 p7 Kint cf(int i) /*10^i*/ ' ~+ @ t" {; X{ int c=1,j; 2 p+ j: F: O( ?% d for(j=1;j<=i;j++) c=c*10;1 i/ u" r+ ]7 H+ t9 J5 S5 D return c;; u% n( W+ P6 H5 x8 p } , F! }, v8 a8 K+ _+ h7 O; D3 ovoid input(char a[],int j) : b* b. a8 ]7 H4 V c0 {2 _{ Lpoly *p,*h,*ptr;6 x; Q( u( A) J4 j: t( N+ w. \ int i,k,flag=0,x=0;$ g% {5 H6 v4 V3 c( i S.top=-1;, [! u! B W8 S pa=(Lpoly*)malloc(sizeof(Lpoly)); 7 f, j2 a5 J, ?- ^' n pa->coef=0;pa->exp=0; & J( k" W. y+ Q1 H- d$ h h=pa;h->next=NULL;9 Y, \2 [0 @2 }+ y1 V/ s p=h; /*jianlipa*/1 U" H& u s- J2 u' w/ S for(i=0;i<=j-1;i++), \+ o/ o @5 c" B {ptr=(Lpoly*)malloc(sizeof(Lpoly));% r- g* q. s8 w/ w9 q if(S.top: r* T! M/ a1 ~- v. f$ D. s" h {S.top++; " ]* B7 d* ~# z, t S.elem[S.top]=a; O6 c' B+ l# J! f! g. q' r }( z0 {) c2 e0 G5 e8 j if(a=='-') flag=1;: {4 L6 P8 b c5 B( z7 \6 \ if(a=='x') /*fenlixishu*/ " m" x4 Y; u: S+ @ {if(S.top==0) & I w+ B7 f5 e6 D: q5 l {if(flag==1)" z. s: d* G5 g; e; @/ ?- S; r& p* U {ptr->coef=-1;ptr->next=NULL;}$ y1 W7 M. ^# y X; ], `1 J else ) `6 r7 f2 m5 ~6 I {ptr->coef=1;ptr->next=NULL;} % v1 H/ z* i) f0 P! h }0 H( V" w: O7 n4 W* g, H else 0 N* Q: ~$ F! z" w+ O {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);. D, ]0 P: `# z5 x( t/ N ptr->coef=x;ptr->next=NULL;x=0; 9 \( x! [$ l# S) i* A" X2 K } 2 @1 U! ]0 u' ]# \8 e* H+ } S.top=-1;flag=0; /*clear*/2 _5 X5 j+ b8 W- R. \4 K6 z1 z }9 O" ~1 p9 p6 Q% J3 o/ A$ ?0 Z if(a=='+'||a=='-') /*fenlizhishu*/ ! T1 j/ n7 b4 x {if(S.top==0) A! e$ C2 H/ g {ptr->exp=1;ptr->next=NULL;}. d9 C z5 j4 M6 a. s2 V* i k1 b else / W! k. c |! v! @3 }2 }7 s {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);% A" a5 T7 t( e ptr->exp=x;ptr->next=NULL;x=0; 9 f: b( [! a4 F } /*tiquzhishu*/- M8 p: a; p7 G# g S.top=-1; L# P) D) s: T4 j3 m$ \6 o }, @9 n1 Y0 s- q l' E3 j if(ptr->coef!=0&&ptr->exp!=0)( B+ N1 O* w' n, I* G% u( C {p->next=ptr; ; D% V4 e. d9 S; g/ j/ ~ p=ptr;* I4 n4 t# m; } n+ ? } & b$ S* j0 [5 f& @ if(i==j-1) : t, J. G* l$ L7 I, h {if(ptr->coef==0)$ z+ A4 ~; b M3 j6 I. B {for(k=S.top;k>=0;k--)+ W8 o( D7 ~: A" L x=x+(S.elem[k]-'0')*cf(S.top-k);# }& L, i6 F, v5 c ptr->coef=x;ptr->next=NULL; 9 W8 v+ H. y6 S, k2 E. w4 l/ k5 s } ( s) e+ u3 j# E* q else5 a6 A' z. k" J {for(k=S.top;k>=0;k--)1 N" E8 T# y' W ?0 u x=x+(S.elem[k]-'0')*cf(S.top-k);) l5 @$ F7 v- p2 r. T ptr->exp=x;ptr->next=NULL; 7 r R5 p3 y ^6 G7 P } 6 ?% B1 G$ E' v3 n$ A p->next=ptr;ptr->next=NULL;# ?( n; l8 }1 [4 o0 [ } 6 S( E, [. i( X/ a- T$ w } 5 a$ T$ O$ h9 ]0 V) u w& c/ \7 p7 u}, U% {) w7 j2 k' w, Q3 o void stinsort(Lpoly *pa)! G+ T2 C8 y- Y+ R6 r { Lpoly *p,*h,*q,*k;: v0 Q" {5 x* [* g h=pa;p=K=h->next;q=p->next;8 Y: E8 l! v Q% }; B3 s& i while(p->next!=NULL): }- K$ i! l( B( _3 I q {if(q->expexp) " ?" W; q' w( f, T! {, d {while(q->exp>k->exp) 4 {1 T0 G: d" r {k=k->next;' ~8 X0 d7 x* c* h$ E h=h->next;2 B i$ _% {# J2 P9 |2 ^ } , u/ ~! d5 f" b3 ? if(q->expexp) . N( m1 J1 N' J1 u {p->next=q->next;) K. L6 z" e: o* `4 h( z( e h->next=q; 3 }. `/ t+ X5 e$ q1 A& o. Q q->next=k;. X- H: ^* y- C q=p->next; 9 U8 g% `0 K! S- g* L) K' Y6 v. \ }, L. g N4 D- f9 X7 ~ if(q->exp=k->exp) i) J* C/ f6 q9 y* c0 l {k->coef=k->coef+q->coef; 2 C5 ~; b5 I" U+ V& \; M p->next=q->next; z. K- {9 f* F q=p->next; " f) B$ ^3 l: r }$ ~+ l1 a: ~% Z, n6 o% |7 M: i h=pa;k=h->next; ; M! }9 q% K, |. h' ?8 c8 f }8 h( M' `( m9 J4 U% V if(q->exp=p->exp) / ~2 s; t. k! ^, K$ { {p->coef=p->coef+q->coef;( t( a8 z O) x3 k) ]3 B p->next=q->next; / q+ I: ?! I4 d. p# x q=p->next; ' j: }, ?$ A: g0 Q, G }) K5 p* f8 K$ f$ e if(q->exp>p->exp)5 ?% Q3 o+ O. {0 r2 N% V {q=q->next;' D/ [& _- N) T9 P4 w: Y- f Q p=p->next; 6 U3 }# ]) ~& J8 F0 I8 R } 7 _9 C2 s% _- [! a4 Q } ; ~3 U8 I' z C K$ x}, ^) d# }9 ~ P, I# o( Z main() 1 A" r/ H% B( i" ] X{ int i,j=0; T5 U8 V9 x ~, R. N% C: y3 | printf("a=");& P2 s& G" k) @ scanf("%s",a);5 K1 U$ T( u4 \. t for(i=0;i<=400;i++); F) g9 F. F! a. F- H* u! w7 S | {if(a!='\0') j++;}+ n6 @1 ?4 M& W/ I# u input(a,j); 8 a9 S4 Z1 E/ e* Z stinsort(pa); 8 y: M; z1 t2 l" F6 E n printf("a=");$ h- w9 l4 w! t& E: ~/ B3 U for(i=0;i<=j+10;i++)$ H7 l% ]9 G! z7 { {printf("%dx%d+",pa->coef,pa->exp);! G4 _! W6 \. o& A, j0 J, n pa=pa->next;& p6 q% h( Z0 L. Q+ Y6 ` }# a6 o5 k" I1 |% z O, W7 | }
分享到:  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", O/ i, _5 D' w( ] #include "string.h"" ^- Y2 t: D) C) e2 q #include "stdio.h"

#define MAXSIZE 4002 G% H- C* Z* }2 M% N) z, T char a[MAXSIZE];

typedef struct 9 e, h. j" J2 C2 f: p; p{* ~0 @3 F# H [$ w$ \, e char elem[MAXSIZE];+ A1 n, _. [! I- D9 y) A/ l* n1 q int top; + z4 T9 a3 X6 q1 Q}SqStack;

SqStack S;

typedef struct poly " \4 J) G: h0 L4 n6 h2 [' \4 l{( C! R$ S- s/ D4 I" j; i1 N int coef; /*xishu*/ ) e" `: ?5 K6 R. x9 J+ K3 [: K int exp; /*zhishu*/$ ]# f1 q; G/ o struct poly *next;+ R7 d$ E' t2 o0 I }Lpoly;

Lpoly *pa;

int cf(int i) /*10^i*/ 8 d5 {2 z, w, X3 |1 k9 `; @{: R4 L& ^ s& p# b0 x int c = 1, j; $ Q9 T9 _. }/ g for(j = 1; j <= i; j ++) * j& o( F& g* L: R }5 d; {& @ c = c * 10;* `' v& a) f& b return c;8 K' q5 K$ F, M; k/ [* @ }

void input(char a[],int j), A: C# l- v0 S { { 0 T# M; P+ |4 E Lpoly *p, *h, *ptr; - a2 h, U- R+ J0 X; S: H, T6 x int i, k, flag = 0, x = 0;8 a0 w2 W; g1 W/ J S.top = -1;0 ]" g- `* t+ K. _/ F, @9 \: E) W pa = (Lpoly*)malloc(sizeof(Lpoly));0 z ^5 z* v0 l2 N7 K" F. Q pa->coef = 0; / }0 E5 g- Q4 T; w5 ?$ E5 W pa->exp = 0; 2 V4 P1 X, H6 f. T h = pa;6 W+ N/ ~& W3 n, y' Y h->next = NULL;. M$ |$ S$ L) B. y+ l p = h; /*jianlipa*/ . k' T9 ]5 I: P7 O* G% x9 y8 ?5 N p4 A V/ j" E* O( G! U) p for (i = 0; i <= j - 1; i ++) + i {$ f0 K' C9 p% |) | { 8 Y$ [' h; N! Z6 {) ~( C& U, A ptr = (Lpoly*)malloc(sizeof(Lpoly));' g; x* ?3 B6 Z4 B0 a if(S.top) $ i" c. E1 B7 j F+ m1 h {& e% y B& U1 J+ C- p S.top ++; ; a A, U; \9 W1 Q0 Q/ l) J& I b S.elem[S.top] = a; 5 ]3 Q3 B$ M( F; @% P- {+ S } - b4 U/ G% B( \ V/ @3 B5 b; T6 e7 \ if (a == '-')$ E( p; J }" N5 Y4 q# r+ x3 I flag=1;: v; g* k# \$ b4 P3 J; [; ?9 y * {+ T5 i/ ? q4 b! l( R if(a == 'x') /*fenlixishu*/ ( {. q7 s& w6 q; q; K {2 ?6 \4 B, Q6 W, C0 |2 x5 q7 Y+ {/ B9 _ if (S.top==0)8 p2 [) U n6 n4 r- t0 n, s {; c9 q& V8 ]$ c4 N8 j( o if (flag == 1)" `( o/ L. G8 X/ \) a3 g1 J1 P7 K {/ R- T& G; R j2 ?+ e ptr->coef = -1;( @1 [7 g1 j2 S0 z/ I' D ptr->next = NULL;) x2 A! a) U1 X, S% \ }$ w V8 k2 z q s else$ y! E% b* V8 \% ? { . S' o: }3 U$ K& p& n ptr->coef = 1; 1 {# q0 w9 j7 v" C# V! K ptr->next = NULL;- D0 v$ H' {( V+ j- ` } 5 L: g! C! o% N, u" n } 3 U; ~7 k; r$ J, V+ r6 [5 ^ else " C6 Q8 u8 T" o3 V/ { {( ^" _1 g4 y+ N6 @6 F% [. s for (k=S.top - 1; k >= 0; k --), L2 y! I( U$ F8 J x = x + (S.elem[k] - '0') * cf(S.top - 1 - k);1 l6 s( \* i* W0 F O ptr->coef = x; 9 Y+ U/ d% l) i. ]$ _4 j% a ptr->next = NULL; 8 L' |, {7 f t _- z. R+ L9 m x = 0;: G" `. i, T6 J8 n# ^5 b9 _: n }2 a9 W) L: [/ M" N' o' D) s S.top = -1; F. m: G# ]4 B3 Q7 r flag = 0; /*clear*/' W+ R; K7 f5 o. J# o5 I } * n) i4 w" w+ O1 J0 [ if (a == '+' || a == '-') /*fenlizhishu*/ 2 V7 w, T% P: y! R; ~ {, ~' ^: w+ l3 y- q5 z! z u if(S.top == 0) 7 E) G8 d9 t# B; @' Z { ; L y$ ~( l2 V7 n1 g g3 Y' [ ptr->exp = 1; ; D8 Z' T1 ^7 C Y ptr->next = NULL; 6 w6 }/ J1 k5 o4 _0 G# _) C) X. y }7 I* d9 e0 l$ { else+ N z9 }/ f, J' W2 p( [ {; I7 ?4 c: h R+ P for (k = S.top - 1; k >= 0; k --)0 Q6 n1 _! `9 }9 e0 f \2 B8 g7 e7 V x = x + (S.elem[k] - '0') * cf(S.top - 1 - k); ) ?" W6 o) Y4 ^$ S! B ptr->exp = x;7 c3 q6 Q; A8 e: p# y1 N ptr->next = NULL;/ b, G0 F s% B' I& ^3 R x = 0;3 C% f6 w. _' { }/*tiquzhishu*/ 7 A2 S+ Z5 t0 U+ d5 n5 v4 A S.top = -1; ; m: A& d( e. M8 h7 M }5 u: ^0 @- ~! q0 @ if (ptr->coef != 0 && ptr->exp != 0) # q) v N6 Q& J3 | {, w! F# t7 q3 W3 `5 Z2 u p->next = ptr; # \* g. q' K$ ]0 D* i2 { p = ptr; 2 O3 {0 p5 Y+ {* g }$ H7 e) @1 O2 P/ M( O L if (i == j - 1) % V& l. S! O, h0 x/ R8 g0 X4 w { , V5 [& a" K" |0 z if (ptr->coef == 0): n' C4 s+ t) ^! p" g4 V+ Y9 D {. U& q* D6 Y" V5 @$ T/ T for (k = S.top; k >= 0; k --) S3 v* v8 S" u x = x + (S.elem[k] - '0') * cf(S.top - k); 7 L2 z" j4 u5 a ptr->coef = x; " i; _( ?9 {9 \7 D ptr->next = NULL; $ u( R" B- l A }3 S4 K$ U. F* @ else 0 r7 w7 d9 F9 s/ F) @$ u+ J" g {# k% w4 b5 X/ H6 L for (k = S.top; k >= 0; k --)$ [" y2 N$ }1 y* \: J x = x + (S.elem[k] - '0') * cf(S.top - k);6 z$ `6 ~# L% G0 \ ptr->exp = x;4 @& f% E% P/ z3 Q ptr->next = NULL; + e1 I. `1 L0 {5 k }6 J; G8 {$ h1 W: \) ~) p p->next = ptr;( `1 b3 H; O4 d/ C ptr->next = NULL; 7 K. n# s* J5 L2 _* ~ }. a! a+ ]# x, U, N- b8 G }8 n) \6 k$ b8 p6 f- l2 { }

void stinsort(Lpoly *pa)* _/ K) l/ }0 k; o' g {; }6 a) ?5 I# M, f. C7 R1 @ Lpoly *p, *h, *q, *k;+ e5 J$ r. c9 Q5 X$ b" U h = pa;5 @# l6 R; `% P- V* V T1 v p = k = h->next; . u0 \# d7 F% W W+ A$ ?8 K q = p->next;. l4 A/ w! @$ @) n! X& g2 T while (p->next != NULL) / S6 L0 v& Y5 B* X# a {( `- Z& s' w/ [; M" X" h if (q->exp)# W" i! ?) n6 B {# ?* _) h7 m R: ]" ~5 f while(q->exp > k->exp)" u$ C; D# F7 Q; k# ` {& K. o! R4 Q. o2 {% A k = k->next;7 U1 K% M. d9 g3 h2 V- Y6 F8 M h = h->next; ; B, q: J v# Q- i- ? }* {6 Y4 e+ |" {) H. l; M8 a if(q->exp)- R. k# R' Y* w { ' S' p" ?# p* n' o p->next = q->next;8 G. k P: l2 k) h5 H1 a" { h->next = q;+ Y4 E+ F8 E+ k; j q->next = k; 0 E6 _, Q1 S1 O8 Q7 Y9 @: Y3 v q = p->next; # P" W: z& i9 V }, l! ^+ X4 f3 c% U+ e# N. J" m if (q->exp = k->exp)) Q+ D; x4 B1 F' L- ~ R' ^' z1 } { 8 t& M2 d- l) S) \ k->coef = k->coef + q->coef; / Z7 h4 X$ r# K" d. V2 O' h9 G p->next = q->next;9 y- z, }% B& u q = p->next; E* ^: P5 k; i5 \) b }2 E9 A4 \. g! I h=pa; $ I. j& W3 [6 r k = h->next; ; a6 r' t, e; ^/ | }: w1 X3 G) G& S5 x& Z% u7 V 2 m& V( X& O) n; Z; Y- a/ b if (q->exp = p->exp) . u0 w9 H; j/ O) {- N2 `6 ]/ n { 1 ^6 }8 {6 V$ Z p->coef = p->coef + q->coef;$ K7 ]# h3 I6 Q4 u+ E3 L3 N$ a- @ p->next = q->next; - m, ? Y/ ~' @9 S7 X% j) P q = p->next;5 M9 k2 g4 x3 g* l6 y0 c! W& @ }6 H. r- T' C8 O; g if (q->exp > p->exp)- O7 l3 s' S+ K7 z, A% `: E {- d' y& w) D$ T q = q->next; + J# R% V! Q3 b! j1 N5 Y) F p = p->next;) G7 R" N# a( @2 Y" d0 y+ t; ] }/ g! _# h( C1 s6 Z }# Q% G T3 ]1 M5 e }

main() $ W8 {- q0 W& I& J{ 5 N' _' Y# ]1 E: ~ int i, j = 0; " W. ~. a- `! s/ q printf("a="); 5 b# e4 ~! h, P. S, {/ F. C scanf("%s", a);% \$ L1 p2 _* T7 u j = strlen(a);

input(a, j); 0 m' z2 t7 j) A* \ stinsort(pa); ) X! F3 ~* R6 n2 M& g. J printf("a=");2 x' V9 y3 u1 R! M2 [ for (i = 0; i <= j + 10; i ++), V( P+ I% X; Q0 i2 ]5 p { + @3 I& S/ b2 @) E printf("%dx%d+", pa->coef, pa->exp); u% F9 K/ b E. P pa = pa->next; 3 D( w: {7 w' h( k/ ~8 U } ( }, Q* B' }! a}# L r, W: l% U, M( R) z/ f0 f4 y% @

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

该用户从未签到

7
 楼主| 发表于 2005-9-17 17:28:00 | 只看该作者
这是上学期的数据结构课程设计* E6 h; Y3 ?7 r9 |$ C! S( b
结果我已经弄出来了,得了个优秀,没跟大家说不好意思9 ~7 Y' v: l' m; B
多谢大家给的意见,我现在水平还很差
* {+ }6 f5 _- F; Z2 }至于注释都是给自己看的,发到网上的时候没改,呵呵~~~~~~
  • 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 下一条

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