下沙论坛

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

QQ登录

QQ登录

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

[求助]请教各位大虾

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-7-6 10:23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我的数据结构课程设计 $ M# _9 ?4 b5 L) T: u实现一个多项式合并,字符串输入多项式,链表插入排序 ; R4 j- _) I J/ A可是我运行出来结果不一样啊,大家帮我看下哪里错了,小的在此谢过啦~~~ / L3 i/ A0 l2 n#include , \, h+ ^- v+ c+ v* u: `#include ! r6 o# n a# {# r4 g4 M* V3 g; Y2 Q#define MAXSIZE 400 - t: P+ e+ \4 D3 {1 g+ _, ]9 l- ~2 jchar a[MAXSIZE];* c3 C" l" O0 e% j$ {3 _& ~5 l typedef struct{char elem[MAXSIZE];/ D1 |& p8 i* ^. @1 K/ F6 S int top;7 M( \7 Z* s2 Q8 E }SqStack;! M3 @, w. h! f8 J( j) n; A SqStack S;; ^3 z2 H% h4 I, t5 N typedef struct poly & T6 a" P0 u% h' `; W( m: C2 [ {int coef; /*xishu*/ + E: X0 m c* v8 {4 @ int exp; /*zhishu*/ 8 Z5 L" R* k; I" s" U3 ^! v struct poly *next; 3 f# @3 y& J% I) p$ C: q- S$ [ }Lpoly;* \# a) W+ q/ M9 c" _ Lpoly *pa; + D; V3 s$ g+ P! xint cf(int i) /*10^i*/: P) N) C7 B7 }0 |* H+ w6 p5 O/ Q { int c=1,j;$ \* v0 I/ _5 s2 e3 w for(j=1;j<=i;j++) c=c*10; ' a; ]1 Y0 {3 Y/ K- h. R3 C# I return c; , G, v. S, r- k2 \ J' }: b" V" q} , l, r: i3 F) d0 A p" g- Kvoid input(char a[],int j) 9 o( M0 D) I: q3 I; L# J+ z{ Lpoly *p,*h,*ptr;+ j' R( A/ |: U# E int i,k,flag=0,x=0;3 I4 S0 J( z/ J& l9 a S.top=-1;+ |( V* x- X8 x& D% g$ u pa=(Lpoly*)malloc(sizeof(Lpoly)); ; l% X* k0 p9 w pa->coef=0;pa->exp=0;2 O# R5 \5 j. Q, g h=pa;h->next=NULL;6 r0 M% x0 B- _, m p=h; /*jianlipa*/ ) A% E$ s& i; K/ [8 L, E for(i=0;i<=j-1;i++) 1 J8 r. x) R! t {ptr=(Lpoly*)malloc(sizeof(Lpoly));6 ?, [- K7 @- t2 N# h5 A6 ^# B if(S.top6 J, B: W8 m# M% {' @ {S.top++; - k( a) I3 x: u) I6 A S.elem[S.top]=a;5 I ? W! h. P; m2 A0 \ } ! ^ u) P8 O+ v/ h7 \; d+ d if(a=='-') flag=1;, |/ u! P: N$ q$ w0 x i if(a=='x') /*fenlixishu*/. A2 A" y/ l- r/ I {if(S.top==0) 2 j! Q( @1 i7 H {if(flag==1)) k9 m% c5 }- d" N# l) M5 n {ptr->coef=-1;ptr->next=NULL;}$ b" `7 X4 {/ {' I' L else& C7 x! G. n0 v {ptr->coef=1;ptr->next=NULL;}* N" O* I4 k5 G) f1 l- @ }/ J! u+ b+ v# {8 t' j E+ P else! g$ A2 k6 Z' e7 x6 E2 Q9 p {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k); ) i' g6 g8 _7 v2 [! V2 U/ z( U ptr->coef=x;ptr->next=NULL;x=0; , k! l' T8 @8 x$ h3 k, d2 d }4 T! i# k, Y& c9 N- @4 P1 q) a S.top=-1;flag=0; /*clear*/1 a4 B8 O/ V& g$ b+ N2 U }! M# M/ T$ t: ?4 }3 y1 v if(a=='+'||a=='-') /*fenlizhishu*/4 B& x* v' q) v! ]$ I4 t) s {if(S.top==0) $ c1 F) B! M- ? {ptr->exp=1;ptr->next=NULL;}$ u0 x: g1 f+ C1 T* o. o9 K( ~ else / x% m# a' g+ O/ e( ^ {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);" W1 }- x# e# P/ H. T ptr->exp=x;ptr->next=NULL;x=0;/ q; {% ]" }1 O& g( r W$ ` } /*tiquzhishu*/7 q% @( A% I4 R$ Y# R2 [: o) ?) I6 D S.top=-1;& Y5 U/ ?" c( |. S* `" ~7 q! X } 9 H# ~0 s( f( y2 C+ ]6 \* N9 X# ^ if(ptr->coef!=0&&ptr->exp!=0) ' P5 M, ]5 Z9 a {p->next=ptr;5 u; q8 ?5 J& Z+ J0 _0 C p=ptr;: ^% U5 A* \: ]: ? }+ T6 {% A0 z( N9 j( Z. a9 ?" m if(i==j-1)0 }, }; L" q8 h) { {if(ptr->coef==0) D2 ]: w5 M( Y2 y e {for(k=S.top;k>=0;k--)* `" V; M( t p8 F x=x+(S.elem[k]-'0')*cf(S.top-k);+ r$ h s' S# S) ]4 M4 N ptr->coef=x;ptr->next=NULL;1 `2 o% u/ G1 C% ] } 6 O9 T" j2 ^* h8 c' V/ y8 F else . z: X# G! D8 G5 y' O" D {for(k=S.top;k>=0;k--)8 a, q8 e, H- m+ z" W: G x=x+(S.elem[k]-'0')*cf(S.top-k); 1 p2 o2 g8 c! v [2 m ptr->exp=x;ptr->next=NULL; 7 x$ w2 X6 A8 J R" d }5 O2 F+ a# B. l/ z) J' ~: p" Q) ] p->next=ptr;ptr->next=NULL; 8 G# |2 J8 H( p$ b! X, ^ }3 x7 T# K! n/ E9 Z/ b, v } # e4 n: F+ s1 @3 z. l# E} 8 d9 S1 z4 {. F }* l. _void stinsort(Lpoly *pa) % f6 o% B* I9 O& p: V) a$ M{ Lpoly *p,*h,*q,*k; % U/ B3 `7 N) Y& R8 b h=pa;p=K=h->next;q=p->next; 2 {7 }5 t. z$ E" P while(p->next!=NULL)/ q5 s4 d) Y& p {if(q->expexp) 8 f8 Z6 t$ u4 G1 \ {while(q->exp>k->exp)2 n5 o' p2 s" T) p) [ {k=k->next;% O& J' C+ u- c h=h->next;' ]2 C$ H# ~9 O+ Y0 }! U' J' T) J" Y/ B } $ _9 O0 ^: C' p$ g% R! C/ r0 e8 V if(q->expexp) 9 e. P" i* I2 k% ?9 M, } {p->next=q->next; 2 ?3 b7 h: z; Y. E0 T3 a h->next=q; + G2 n, W- M3 { q->next=k;% Y9 ]- [; | s! a S q=p->next;$ b; s! Z( ^" e4 ~" a } 0 q! V& Z* m! _/ ~ k if(q->exp=k->exp) 2 R$ Z+ m$ {9 B" H' ? {k->coef=k->coef+q->coef; 3 b9 q" B4 S3 s( v# O p->next=q->next; $ g! M/ f& ?" x' J2 Z1 s8 p' N q=p->next;) _. ]( v' I, m0 x* T) A! m } 2 t) Z. n9 F% n- e* Y+ J0 } h=pa;k=h->next; % k' e4 G: Y5 x% p } # n+ |* C. H5 v6 h/ K if(q->exp=p->exp) $ M2 K8 }9 ~7 a* j3 h0 \; Y/ N {p->coef=p->coef+q->coef;, l, F) D# _ Q4 D" w p->next=q->next;9 o8 w- t! O' q: L" V0 j q=p->next;) A3 v, W1 e9 ?7 e; B) B- {& [, e }7 Q+ U& V7 `+ z4 F if(q->exp>p->exp)& o" x' z- `0 O {q=q->next; . S, g( m4 x1 k" y+ R p=p->next;8 E1 u2 b4 M5 y' G4 F6 o2 b) v0 \ }' {) O5 v: A2 c, p0 \' ?0 Q- g+ O" z }- ]/ B- b& O7 [' U p } * x H4 n* e+ P+ b- vmain() , t: }7 F; }) C h{ int i,j=0;. q5 ^: v7 n% c' s$ j1 m7 I9 S printf("a=");4 ` o F+ s6 I. Y v scanf("%s",a);' z ] [8 k: R' y3 v. V for(i=0;i<=400;i++)6 P3 G/ G5 B. X+ o m {if(a!='\0') j++;}6 M4 p! g, l. _ c( ~ input(a,j); ) k6 t. ?' G/ ~3 ]6 @, {0 ~ stinsort(pa); % a( K9 J( X9 f! u1 G4 o" f printf("a="); n, t& ?! x. T8 q9 R# i- \" ` for(i=0;i<=j+10;i++)2 g0 y0 h5 }" U: v0 Q {printf("%dx%d+",pa->coef,pa->exp);$ a) S- K# M5 e2 ~. b& |1 t pa=pa->next;* o3 h% z4 G- c; F- V }! e# w( b' P5 r( e' S' K4 F* E3 ?4 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" 1 a& ^2 V% h# U#include "string.h": R9 R& Y; J9 n3 Z, n& q1 x #include "stdio.h"

#define MAXSIZE 400 $ `9 I; u0 A! \char a[MAXSIZE];

typedef struct" l! j1 S3 W2 _ { 6 C0 N$ D i7 x char elem[MAXSIZE]; 5 O0 V$ W: I. | int top;5 u: s9 ~- S b/ |3 }( i5 n }SqStack;

SqStack S;

typedef struct poly* I- G1 t6 ^' e/ O! e1 V {, H, g5 a3 t% [* c int coef; /*xishu*/ " k' P+ p- a$ O6 p: u8 x% g int exp; /*zhishu*/ 1 a1 c0 d6 ?0 n* j0 [ struct poly *next;$ x( t7 f; s) U9 a" r8 z }Lpoly;

Lpoly *pa;

int cf(int i) /*10^i*/ " G, ?/ L3 [- ?{+ _9 v3 ]& q6 ?3 Z: J0 d" a. z# l. c int c = 1, j;2 |6 I5 F" z& o8 H2 b4 w5 T for(j = 1; j <= i; j ++)3 j7 h% |# \2 Q" Q( r c = c * 10;5 d' m6 Z% O3 V8 }' W! a3 ~1 r- q* ~ return c; M D7 H2 D, B- a, K }

void input(char a[],int j)- Z) t3 G- D8 \$ P9 E { , U% Q" N4 N- V& X4 K Lpoly *p, *h, *ptr;+ |9 H6 f( Q, j4 s( F int i, k, flag = 0, x = 0;; n6 } U0 j' V! @ S.top = -1; ! ^0 |' }) E8 K8 U0 _ pa = (Lpoly*)malloc(sizeof(Lpoly)); . ]; A- X/ c7 u pa->coef = 0;2 N6 v. w' m5 y* g _- b pa->exp = 0;1 D9 H& y8 m3 A# O7 h3 W( d h = pa; 7 P6 i& T) C& @0 ?: g- H! g h->next = NULL; 6 K( x/ r2 S+ C# _& U p = h; /*jianlipa*/6 w* \% s& f+ U5 n N# E/ C) o/ e2 X) W {. {& ?7 h3 j for (i = 0; i <= j - 1; i ++) $ \9 |+ \4 S7 g/ v {+ ~6 U# |+ X+ j# M) G3 \ ptr = (Lpoly*)malloc(sizeof(Lpoly));- \; D7 p" S; [7 e if(S.top)+ I! a! ?: Q4 @ { ' u/ w2 c5 x# [. G3 e S.top ++; 8 h' ]: H1 G( z! O) ~- L- X S.elem[S.top] = a; 9 ]9 b, @ P4 e: d8 J. j6 ~ } ) i j! O, F- f if (a == '-')6 v% }" _* H/ E/ q flag=1;, Q! a8 ^4 h9 B" \ ! L1 {4 R0 g) ]" t/ Z" \/ x; ^1 s if(a == 'x') /*fenlixishu*/ 0 J4 }# [9 G( C' Y8 i { # Y3 G8 N$ a5 D) y) x! C8 L if (S.top==0) : x, U& |; d/ y) G {3 g! ` {! h1 e8 M( B9 q; u" Q0 Y- ] if (flag == 1)5 x9 e* u" O" k' ~ {) c$ e; K2 r. Z ptr->coef = -1; $ n$ |- f% L( p! h; n5 D ptr->next = NULL;* Q$ g* i! X! v9 D }# e, i; L' B& A5 h. I6 u& s1 v) v3 D else/ C/ s5 `$ i8 ?2 H% A( `9 n3 | {" Q, Y' s. s4 t0 F4 E7 H ptr->coef = 1; 8 a7 o( I( l+ o8 u6 j! Q9 K* S ptr->next = NULL;3 O) l/ E& {# r/ s2 n* K5 G: t' a } ( W, m% l- v n" j" S3 \ } 9 e p- ?3 A- @4 o; g9 O- u0 i else4 a' D9 L+ t( t& @% B) Z; A { # @( h$ ?$ j! N; g [" C2 S5 Q for (k=S.top - 1; k >= 0; k --)4 F6 M6 Q7 F0 z) o' I x = x + (S.elem[k] - '0') * cf(S.top - 1 - k); 6 N" d7 Y$ s- d) q! H) V4 Q ptr->coef = x;% W e3 K9 B) n3 W, j: D7 [ ptr->next = NULL; / {7 p& c: V% o. @ x = 0; + T6 V, d" u4 e! t }4 O' T1 T; T. d+ x: ~; t) s/ _ S.top = -1;" V5 g# s) [5 k7 g; h9 b flag = 0; /*clear*/ % ^' @7 Y: ~4 a% C }: a. a& x7 n8 u5 p' q7 Z if (a == '+' || a == '-') /*fenlizhishu*/- }5 d8 j. d1 T, q9 Y: D' ~ { / }# a! y, w7 q" e: ?2 t. d if(S.top == 0)3 E; J S& a A& K8 G% R { + m: s. m6 C4 N2 } N ptr->exp = 1;1 p: ~1 c: p. t! U, ~4 o8 j* T) Q ptr->next = NULL;8 z+ y7 h$ ]- X; P! ]0 {3 y# M d }; d( S- E$ |( _6 E4 ~2 ?( ] else 8 O. @& w9 P+ L) q! } { - k: i7 U7 U6 A, ^0 c for (k = S.top - 1; k >= 0; k --) ; f$ H9 y# c: s( ]: h4 i. D6 s x = x + (S.elem[k] - '0') * cf(S.top - 1 - k); 7 E+ n D/ R6 |2 w, X1 u ptr->exp = x; ]& o G" z$ H6 M, F5 A- d3 P ptr->next = NULL; ! ]* S1 D1 l# T* \6 ~7 o. @7 A( Y x = 0;0 |+ }4 A* r% K H0 Q7 Z1 a }/*tiquzhishu*/ {) _/ k4 D! ~+ s) ?: N3 z6 A. Q S.top = -1; ( t/ n/ v9 n1 A; r, S) b } " L* K% K$ D" {* e# I$ W" Y' q if (ptr->coef != 0 && ptr->exp != 0)/ v8 a" `6 I5 u: [$ ^ {" X- {: S h& d! u; b1 `) T0 w3 n p->next = ptr; S6 C5 `& x+ D$ ?3 U! s p = ptr;2 O3 V; O' s+ Q8 w8 L( k }! v7 E. y% ^5 V" v if (i == j - 1)% ?, b2 X* _ P, g7 I" P { / w/ V% T+ Q( |0 ?- P. a( ? if (ptr->coef == 0) h3 B( D o! z* z {+ L3 @6 @ e4 x, z. a! r4 A for (k = S.top; k >= 0; k --) 0 [; H6 Y) [" I! V3 q x = x + (S.elem[k] - '0') * cf(S.top - k);/ m$ c6 h5 A& W$ T9 f; Q" R3 w) Y C ptr->coef = x; ) A' q: O& L! \! x8 L ptr->next = NULL;5 T, G; e- K$ s6 z* a2 F0 b. u$ n7 X } " y% J9 E6 A! z' l; P0 \ else( n; A' B/ I1 p! x, M* T {+ b! {4 H7 g- t6 t8 j# ~, M: H1 ~ for (k = S.top; k >= 0; k --)9 @, ?* }; U/ z+ _* Y4 P- I. O$ \ x = x + (S.elem[k] - '0') * cf(S.top - k);9 y( N9 N2 Y6 Q5 B ptr->exp = x; 2 b2 p6 d8 t7 x& n; h ptr->next = NULL;+ c/ b O5 ]$ w; o } % o" j" ~# l9 F i6 o p->next = ptr; , [* O* m" |( `7 A# Z$ n1 q" X ptr->next = NULL;/ d( S3 i3 e1 \! a4 q+ G" y+ k. v- K: J } ) B+ s3 K+ e G7 _ O2 R/ h) c }: j" e/ H: g" J7 q$ Q! I3 K }

void stinsort(Lpoly *pa)% S. ]' X5 q- g+ I { . c! D+ G! c2 Z& Q' E9 R. U7 ] Lpoly *p, *h, *q, *k;2 {/ w' F( Q( A; K/ K5 r7 w3 N h = pa; " {: I1 n& s& y7 h6 e/ Y- R p = k = h->next; . ~+ V+ O9 }1 ?7 X! e3 [1 M q = p->next; - [1 Q& n* @; `6 I' {4 B3 l while (p->next != NULL)! e$ v& U9 k. A {* D, Y) \6 T1 ]" w if (q->exp)# R. N, p% j1 [. K { & r" g' b0 z" Y; ?+ t while(q->exp > k->exp) 3 @. {/ G! K. A# R! U {) Q. A, [$ E: x, a k = k->next; # ]9 o% [ x$ ?/ C' u/ `6 o1 F h = h->next; 3 h9 a2 E. T/ b6 i. C2 W } , W1 c$ Z. ?5 y( ~ if(q->exp)9 g) N+ ~) a% |* C; ?# t" M { - l( q0 K9 U3 D# R6 L; N$ ~ p->next = q->next; $ P/ Q: s' E6 n3 j% r+ [1 z# g h->next = q;7 k# g8 ?+ Z3 a q->next = k;8 k$ n2 v- A. ]% P q = p->next;- d5 u8 q1 f- p' w* U0 y' s! i }, x, y& \: f3 ^* ~; x8 B if (q->exp = k->exp) ! B) j2 _* c* L0 R { & k7 M: F# D8 B" S0 H8 D, s( F k->coef = k->coef + q->coef;4 ] ^& ~4 \; T6 K5 S r& ~5 Z p->next = q->next;9 k& b$ n" u S L2 ?( o q = p->next; C) @* E g5 K7 g1 d1 v/ D. a2 C } & ]9 s8 _3 X+ V9 {$ p0 f h=pa;0 ]! @6 u& F* z; Y: P, e k = h->next;5 j3 K. e) H# {$ n }; U/ L( Q9 j8 P$ n) ~- } 1 ]! [* b: m0 p, b, G$ I! o# ` if (q->exp = p->exp) 4 m+ u. M8 }$ [: _& t, r { ' Z% o3 k/ f, j2 q3 m p->coef = p->coef + q->coef;% x% i- Q9 x. [8 m) a p->next = q->next;) n. a8 x6 }' e* K& w$ e q = p->next;" ^- [, h$ c4 m# B6 N } : Y: R Y1 P: e if (q->exp > p->exp)# N3 r r# C5 k { 9 ^- K) z$ k; g5 z( c% H* n0 @0 c- L q = q->next; 4 o0 z9 d5 b5 W) Q) \ p = p->next; 6 u, D" f' V1 H } 1 ?5 z+ L( A% K& { } ; {; t( ]+ ^7 s}

main() # Y7 M1 V. C9 b0 T7 |( ~2 L, t{. F& g! i, j& e2 {! ?/ U3 U( h int i, j = 0;' J2 r, M, `/ N- A printf("a=");5 J) m6 R$ ^3 L7 Y! L6 t0 J scanf("%s", a); + t3 b; F* J$ _3 h/ [ j = strlen(a);

input(a, j);0 @& i4 m" @1 S% ?3 s6 e. A stinsort(pa); * J3 R* m; k0 Y) L3 B printf("a=");6 R4 M' a8 q' |# T- T/ @! } for (i = 0; i <= j + 10; i ++)2 h2 @6 w+ o J {) J$ ?2 R' T& x, n0 a; B6 r/ g printf("%dx%d+", pa->coef, pa->exp);# U; x: b9 L3 \* r pa = pa->next;1 H! s) g8 Q6 e' Q" n9 G3 \ } 5 o2 P! \6 T. h: @ r}9 w7 u b C# E9 C7 w% Q

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

该用户从未签到

7
 楼主| 发表于 2005-9-17 17:28:00 | 只看该作者
这是上学期的数据结构课程设计
  T- O3 L. k! x+ w" U结果我已经弄出来了,得了个优秀,没跟大家说不好意思* U8 u. Q7 i3 A  e
多谢大家给的意见,我现在水平还很差
. p9 M8 T/ ^( n% p7 Q: K6 [至于注释都是给自己看的,发到网上的时候没改,呵呵~~~~~~
  • 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 下一条

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