下沙论坛

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

QQ登录

QQ登录

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

[求助]请教各位大虾

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-7-6 10:23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我的数据结构课程设计 / T# W; x. t" r2 J4 k: |6 V' z实现一个多项式合并,字符串输入多项式,链表插入排序 # g% |- ]1 R3 q可是我运行出来结果不一样啊,大家帮我看下哪里错了,小的在此谢过啦~~~1 w @. J0 |/ B. K #include # C$ ?; c! v4 D% e) C z#include, r ?0 s) @0 k; q9 H+ k# u- c( F+ X #define MAXSIZE 400 7 U/ V; h- i) P3 `& X- y. i# d/ Tchar a[MAXSIZE];7 a) y( }5 i1 `7 F: t( Z' i+ e typedef struct{char elem[MAXSIZE]; 2 }9 e) ~5 f; k% H int top;8 y% s$ m% [/ m( b# n, K. E }SqStack; . H% B7 ]* t0 R; e- U6 jSqStack S;+ y# G u0 W' |+ m& c! q typedef struct poly # a) s, j% ]+ `+ M/ E {int coef; /*xishu*/ $ E, C, \8 r$ e8 T& O" a5 M) D int exp; /*zhishu*/+ d M& ^' `! C: g struct poly *next; ! W$ O1 q- g; J( g; M/ t9 Y }Lpoly; 6 ~3 J k, d8 }' l: \0 l, ELpoly *pa;9 l0 r6 l) I3 Q' I5 m' a int cf(int i) /*10^i*/ 8 Y- Z5 t5 f$ V7 s{ int c=1,j;$ I3 o6 b z' ~# z o for(j=1;j<=i;j++) c=c*10;; V, T+ K- K* }, ] return c;, U8 y& G) b4 T } 9 u/ ]" i2 ?) J9 M. q$ ^% U( H3 n; ?void input(char a[],int j) 1 X8 D5 l) N) q3 g% E0 a{ Lpoly *p,*h,*ptr;3 h/ }; y6 o& N4 u, ~4 c% w int i,k,flag=0,x=0;$ z3 a; S# p7 S( I0 u7 B S.top=-1;- c2 B9 ]) R z3 G R8 w- u* ?) Y pa=(Lpoly*)malloc(sizeof(Lpoly)); 1 ?' p0 b+ ~6 ^/ q& \1 a' u pa->coef=0;pa->exp=0;2 h! t' C( R2 N, t h=pa;h->next=NULL;3 _2 k, Q0 W4 C; r0 H7 u3 r p=h; /*jianlipa*/' D: U. M) z2 ^$ b' d5 r( e% ] for(i=0;i<=j-1;i++)* q; n. S8 B' A" b {ptr=(Lpoly*)malloc(sizeof(Lpoly));( T- p$ I+ ]* `0 j/ p/ I6 D- z if(S.top4 { H3 m: l' U" f {S.top++;$ Z. X/ m* ?( ] S.elem[S.top]=a;3 r3 f2 {( H$ ?4 u9 U } ' u6 N# R( K) e- M9 P( y& r; V7 G if(a=='-') flag=1;; D5 ]( b" G: l/ y2 b& P# t if(a=='x') /*fenlixishu*/ ( s" u0 v' n- s' Z1 E6 ~" K {if(S.top==0) # M, t8 K3 a: T {if(flag==1) # y9 ] q2 m" U' q$ w: S! `3 B {ptr->coef=-1;ptr->next=NULL;} o$ a( b ?0 [# w; `/ L# R else / ~2 x* Z# X5 i, ` {ptr->coef=1;ptr->next=NULL;} & ]3 |) s1 `1 ^8 {3 Z% }3 \# b } ( x2 u0 b6 E7 e2 H/ U else u) E! D+ v/ o. E {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);8 B* c8 O7 f* |: p ptr->coef=x;ptr->next=NULL;x=0; 0 X& R# u; v5 {1 a+ ? }! |3 ]# A$ j0 n% ^1 T9 |% T# @ S.top=-1;flag=0; /*clear*/7 g+ u7 D# q, E! P2 e }3 K4 W: U+ c/ d% S0 r- q8 b if(a=='+'||a=='-') /*fenlizhishu*/( _+ p8 O$ x$ |0 j# ?9 Y' N+ ~) n4 T {if(S.top==0) : `- {3 a V, K& \ {ptr->exp=1;ptr->next=NULL;}3 m# W1 O% J9 A9 a else # ?8 n: J0 b1 q! s6 h {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);% ?: x V/ @0 Z5 ~* S! Y ptr->exp=x;ptr->next=NULL;x=0;7 V' y! D. {: P } /*tiquzhishu*/ + ]$ k7 H9 }7 c5 M S.top=-1; , H5 j6 v' C* b& u } ! L0 \1 Z2 x) x$ r- r7 z if(ptr->coef!=0&&ptr->exp!=0)5 @" m/ v& V. S* V. V* n* ?2 `! [ {p->next=ptr;4 V* d6 c0 D- w* ~9 `( [ p=ptr; 9 T4 K! p* f; h+ e m/ K- q. ^. L } # E8 i+ o. h6 w4 U1 A' {/ j8 ] if(i==j-1) 9 X5 `7 j; V& c9 g8 | q4 W* ~; R {if(ptr->coef==0)% ]7 L, B0 ~) c+ T* _" q {for(k=S.top;k>=0;k--) 3 A; c8 _4 T8 }6 M2 Y" Z7 G x=x+(S.elem[k]-'0')*cf(S.top-k);8 e# g2 z3 v. ]9 T. y ptr->coef=x;ptr->next=NULL;+ |4 C P) T1 N } * R" ]6 \8 b. |' w# @& b0 r else# V2 p. V. ~- g: S {for(k=S.top;k>=0;k--)# w, m5 O8 x0 K* T* J x=x+(S.elem[k]-'0')*cf(S.top-k);: r- ]; h( J; I ptr->exp=x;ptr->next=NULL; 6 G% M# C1 c# N" n6 E1 T1 T }) _) E+ |: n4 N# ^1 v p->next=ptr;ptr->next=NULL;% Z& T/ \% x, q% F8 z Z }- N" l! ? v4 E/ a. J }6 Y* ^' w: q. `- [9 ` }8 n6 L! Q8 I' c void stinsort(Lpoly *pa)' j% \6 e& o6 I6 Z! q8 C9 G& I( |9 C { Lpoly *p,*h,*q,*k;2 S5 W- c: S9 y5 g h=pa;p=K=h->next;q=p->next;& _) Y5 T* i1 k% [5 t( D8 w while(p->next!=NULL) + R$ i6 Y( M: a5 L6 M {if(q->expexp)( j* {- Q6 H& E' @ {while(q->exp>k->exp) ' }- D! K; s0 R( X b" s {k=k->next; * _# f n& }* g: b+ b: i h=h->next; . B+ v+ I% O; p8 M# W0 H }/ Y/ g+ w+ c/ B6 q/ g6 b if(q->expexp) " u( g [' I6 o& d+ X8 K {p->next=q->next;/ o( N7 S% x: S/ J) y h->next=q; / D" b' u2 p$ ^+ S1 E' x$ z q->next=k; - Y+ H5 ~0 K8 @; X4 a* q5 s q=p->next;# K, o5 m! E* e& |. ~ }, A' }! V/ K ], O+ o% U: U if(q->exp=k->exp) - n% @% ~" P( l4 V' h" m {k->coef=k->coef+q->coef;' k( O" ~5 O2 E E1 ?# c p->next=q->next; 8 g% }0 }% ^- K; Y q=p->next; : w8 a" W' T3 r- p& } } ' y$ v5 {, O; w; n9 m5 I7 c! R6 d h=pa;k=h->next; 5 T- `/ m" W" e# E" t }' T% G! Z' ^, A7 F$ S, R if(q->exp=p->exp) ' G. w- l" f+ V {p->coef=p->coef+q->coef;" P! Z" J- }4 @) V; A p->next=q->next; ' w8 ^! `& j* N, W+ A1 R. A8 _% a q=p->next; d2 Y5 X2 O7 C X& I$ }$ T } ! G* W p' O' v# ?, X3 b& n4 j if(q->exp>p->exp) * b' X" t/ y, u( d- | {q=q->next; ' X$ ]2 x/ A9 e5 g3 h/ ^ p=p->next;* Z1 T4 Y1 J& ~4 }% o } * \3 l& s+ m" l5 @0 R* H1 P* c }4 |& g- i7 q8 W) M" \& K6 H }* R9 W4 {: W# d1 }+ ]0 a main() 4 u2 V* t. F! ]! C# `8 M1 \{ int i,j=0;) a! ]" \* j+ s/ N! j printf("a=");9 I/ e1 U2 f$ T. J; h$ l scanf("%s",a);' a Q0 j) Q: W& Q for(i=0;i<=400;i++) & Y! M) n- f0 Z% K {if(a!='\0') j++;}& H# a7 p7 d" j8 N input(a,j);- a; t6 E) O$ O e' _ stinsort(pa); % N0 B( j5 `5 h. t' U5 Q9 X! D printf("a=");6 \7 R# l& _1 T" u for(i=0;i<=j+10;i++) * c7 t; C1 _2 S& I {printf("%dx%d+",pa->coef,pa->exp);5 t( P' W# i( r pa=pa->next;: m; d1 { m5 t4 [! e6 y } ! J5 {, v9 t2 k# v9 F}
分享到:  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" / {0 c. h' V, T4 n6 {#include "string.h"$ |' ~" r% V( Z+ B8 O) g; n6 L #include "stdio.h"

#define MAXSIZE 400 + U- q% V2 K) @! Q l- Hchar a[MAXSIZE];

typedef struct ; G1 F8 e- A+ p* o{ 1 I/ m+ _1 s3 f! O$ N char elem[MAXSIZE];# `+ R: K; k' |, j' z- o$ D2 Q int top; 7 o: ^! q) R' }) Q6 [4 g}SqStack;

SqStack S;

typedef struct poly 1 v4 A' I( P4 `{, K. l& { d" E7 `0 Z int coef; /*xishu*/ 6 F6 @) q4 N: |" ` int exp; /*zhishu*/ % c* S6 w G7 b+ x+ r struct poly *next;! H5 h7 L% m- G- x U }Lpoly;

Lpoly *pa;

int cf(int i) /*10^i*/ & A: [. D0 m8 f. w! v{3 b- g5 N7 h" x2 J int c = 1, j;# R: S0 w$ K; Y6 l# ?3 f for(j = 1; j <= i; j ++) Q+ v& J) I$ x7 o8 F- E5 H c = c * 10;& _/ Y2 |0 x9 _8 N4 M* D4 F return c; + l9 h# b, Q9 F9 `" y. N}

void input(char a[],int j)5 y( H3 R a6 ]& }$ ^" ?+ J' \ { " r/ r' D9 q* r! [. ]" x Lpoly *p, *h, *ptr; 1 k- ?- u9 {6 ?9 c/ ` int i, k, flag = 0, x = 0;# R! P+ M/ v9 ~1 L S.top = -1; * N* n7 `3 {: X8 F, M$ n pa = (Lpoly*)malloc(sizeof(Lpoly)); 3 f/ K( K" k& C# N! v) u! ^. B pa->coef = 0; " l5 d) ?1 n3 p5 S$ \% J9 @ pa->exp = 0; 5 s, G w, t' K1 j& [/ P$ V5 n h = pa; 5 S0 n2 P" w# f h->next = NULL;/ }; j- W( o( H# e. O; m p = h; /*jianlipa*/# \* E( I5 h \/ [0 L: @# O ) S0 |3 ^7 z$ H: L for (i = 0; i <= j - 1; i ++)6 P0 h% A X: U; ? { 5 Z5 X/ ]; S5 ]& X A- U. ~ ptr = (Lpoly*)malloc(sizeof(Lpoly));9 H) u, m6 B* m/ o- }/ X if(S.top)! N z+ h: Z: C5 [ { 8 |8 ~9 R5 a1 O* H S.top ++;4 `; v* b. Z( a4 \ S.elem[S.top] = a; : Y/ }9 i: }2 l" G }) j" X$ }4 s) e/ F( Q0 e' I. j2 | if (a == '-') , U3 x* l* ^. V3 d' N$ T5 Z flag=1;* j! X- d( E& v+ \' {! { 4 M O. I: v! }( T9 ^, `3 P if(a == 'x') /*fenlixishu*/ 0 G8 L* o& u, r { % A) K9 o1 w2 ` if (S.top==0) ! c) p& t' `$ N {& l Z8 \+ d) n7 x- x+ U' O if (flag == 1): n/ r& x3 P A7 s+ V9 y; } { . h% L0 S2 _2 t' S ptr->coef = -1; * R+ ~! z. b+ Z5 M/ P" B) ` ptr->next = NULL;: w1 Q# g7 f4 d* j }& _; _* V, J- W( i& d: A( f else 2 T5 d8 o+ F+ n& n! J {; A0 y! @) `. h1 U% j8 C& Z ptr->coef = 1; " V8 q+ J3 X0 S! a2 l, r ptr->next = NULL; # C D3 f7 B$ X6 D6 M }5 N& u+ I8 t+ \1 h2 f } + T2 ^; S; B) O2 ^# v else/ ^ g3 g3 `2 v5 X# j; _ { + {: N! ^- o8 r9 E for (k=S.top - 1; k >= 0; k --)- z# `7 _0 w+ D# y: T7 {! j2 G x = x + (S.elem[k] - '0') * cf(S.top - 1 - k); 5 G) X0 v) K, S0 Z# i ptr->coef = x;2 A! x! S n( S _; W. e# D: N, N% j ptr->next = NULL;* W8 h5 z' m; }: P6 \1 s x = 0; ( W: o0 I/ t6 W }& f# s- j; |+ | S.top = -1;" R0 O, ~; c; M' a flag = 0; /*clear*/3 ?. v2 H1 ?/ V } 6 d5 j: v) W N- l9 {, H if (a == '+' || a == '-') /*fenlizhishu*/( _; p5 `, J+ g { ( ] C1 }4 l3 g( A3 T if(S.top == 0) 7 o' p3 J, i2 t' u: b) O {- ~$ `: D; ?# ?8 [% ` ptr->exp = 1;) n/ n; @& N" f ptr->next = NULL; 5 h0 Z7 ?" `3 I1 l }! `' Q) r% D# K/ X else $ F& p3 `, r4 `0 g8 Z. m { 7 t: M- [7 a4 W5 e for (k = S.top - 1; k >= 0; k --) a3 G) ]; `2 e% `- w+ o x = x + (S.elem[k] - '0') * cf(S.top - 1 - k); " x, u/ c5 F" `8 ~5 u ptr->exp = x; 9 O$ O: s Y$ e+ i, ^ ptr->next = NULL;" X9 g( y1 Y A2 w x = 0; # |3 ]2 @' r+ C- L1 l% h# X }/*tiquzhishu*/" |; E7 m2 S/ w S.top = -1; / c5 u, I* A& N9 H& |0 `+ _% e. t }0 X& V5 h$ `, K6 Z# H if (ptr->coef != 0 && ptr->exp != 0)8 j& n9 F& \ u {6 _. V; _7 t' g8 e! l6 S+ k0 w p->next = ptr; * O3 q. Y5 h, r" u! p) u( b- o p = ptr;! k) n0 G+ N2 e0 O9 e; a } - M) w, R& k2 n0 b* C if (i == j - 1) 4 Y4 X6 J' E' F0 g: k) p {' I7 p" g: U8 Q- n if (ptr->coef == 0) + F4 g) t W# Q0 d* t3 x# l { 6 ?2 m4 X5 z; H0 y# [7 l for (k = S.top; k >= 0; k --) ) }1 {" R) m4 [9 t5 K9 k x = x + (S.elem[k] - '0') * cf(S.top - k);% p7 x, _, u- r% \4 z( t \4 V ptr->coef = x; - A$ K5 A! s2 U/ s/ T" e ptr->next = NULL; , U3 t! F) }$ ` } , q- M1 u% W! P, a* v1 _) ~ else4 N4 ~/ ~& |; N8 n1 d$ U7 \/ R4 E* c { , v: r& T8 M& f7 Z7 S9 c for (k = S.top; k >= 0; k --)+ c- u0 z8 {: u' ]) R' D x = x + (S.elem[k] - '0') * cf(S.top - k); # {6 S4 `/ |8 c$ y/ Y: x ptr->exp = x;# [' X; o( ^; s9 E0 P2 W ptr->next = NULL;9 x- ^4 {6 l; Y9 B6 J& W1 r } : g! b2 ?: o# t/ G* f" N p->next = ptr;& f: l- H* |+ I1 J ptr->next = NULL;( z& y5 ^8 n) m- ? } 4 _5 S8 T9 Y3 Q2 Q } ' y& j1 n( z% v' d8 @3 A( ^}

void stinsort(Lpoly *pa) ; ~: ]8 \1 a4 n; b# m% }) y+ v{: a/ o2 H, ?6 s: a) k6 l2 H2 U+ v Lpoly *p, *h, *q, *k;# ~% `; {& x$ Q# L) F, H' x8 F' W; Z h = pa; 0 K0 V# g( B: I- Q+ l p = k = h->next;4 ^# p5 U: j& O! R3 `1 u6 z ~ q = p->next;& T% V' d- I; K5 g( L while (p->next != NULL) ( S# b+ Y" g' u9 t! ^) i { 8 `! M2 B: H$ e! j7 C' y9 | if (q->exp) , k K: J% [) L- z! E, m { 2 l4 Y+ o' C- k3 g: }" o' d while(q->exp > k->exp) & M R$ K+ G: V! W" }1 F* W {7 i1 \( \" c6 Q8 {3 i t k = k->next; % V- S. T0 @5 I7 i h = h->next;# J+ j" C- F- e( c }6 s: P# `( S! I2 j& k9 g' g* Q Q R if(q->exp) * D5 P5 e- t2 M. Y0 {4 x3 ] {) D( |0 `. A" f! O0 ] p->next = q->next; A: a3 t' U- ]) @1 L U h->next = q;. |" S( G- H* I q->next = k;" i: z% N4 Z+ g X# ?- ` q = p->next;$ l2 G: c6 p2 k& s) |0 @' V } ) X+ E$ F6 R0 Y# k+ S: y# o if (q->exp = k->exp) # G" n6 H8 e T6 v {8 E- d( U2 Q8 Z3 c4 A2 [ k->coef = k->coef + q->coef;" D6 Z# [# F' A4 L p->next = q->next; " m. \' C l1 f q = p->next;$ Q: f: |, e" ] } # `' |6 U6 g# }4 D6 A h=pa;2 [+ P9 q1 U( g3 ? k = h->next; : I4 D) W' g H! ?- z, y" P1 O } * b+ O% A8 e2 q% \8 ^ 4 L2 U% e! L" z' R% g$ a" n/ i2 [# j if (q->exp = p->exp) + J0 m* y0 c( `& Z { B- I. C4 L1 p* |; X2 X" y3 ~! H* b p->coef = p->coef + q->coef; ; I4 i+ {7 }9 u' ?/ ~1 q p->next = q->next;/ P; U1 Z! A) B! |$ e9 M3 S# _ q = p->next;) {6 [, S7 i# x U1 `3 ~" ~! v# l } J9 s' j. v" S if (q->exp > p->exp)- k3 R6 T7 M' Y9 L { , c: M/ `" y7 R. i# @( m q = q->next; * S3 }* S( t( E% @+ W* U p = p->next;5 X$ R) ]- ]$ X } 4 {% a9 L7 b& B5 n4 J( s } ! z6 Q+ F7 g9 p' {' T6 y7 `}

main()9 L# I! P4 O6 W/ H {, M8 p1 d2 r) D' g/ F) s8 S8 ] int i, j = 0; 4 N/ g, ^% _" g9 o! Z6 v9 C printf("a="); + E" [6 n: G1 W' T scanf("%s", a);/ g/ g( y3 \! r' A j = strlen(a);

input(a, j);5 Z1 d; p% i4 s$ D9 R; B stinsort(pa); 8 i. U7 q3 b9 v( @+ [ printf("a="); 9 {/ R& W9 c) Q. k. q for (i = 0; i <= j + 10; i ++) , P# Q- }! ~6 E% ` { ' U# _! a1 H9 q5 Q* [ printf("%dx%d+", pa->coef, pa->exp);. J5 u) O9 ]( z9 B pa = pa->next;( j+ ^' u9 q3 f3 E2 _7 { }6 o& k5 O& v3 H. B( u } / _2 i# z6 _5 Q: u4 S. Z

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

该用户从未签到

7
 楼主| 发表于 2005-9-17 17:28:00 | 只看该作者
这是上学期的数据结构课程设计& o7 \0 w' N7 ]" v* ]3 q7 T
结果我已经弄出来了,得了个优秀,没跟大家说不好意思
8 x; C  h5 H5 P. K$ d3 z5 S5 V/ i多谢大家给的意见,我现在水平还很差
' Q1 t" i7 |6 T# _/ q至于注释都是给自己看的,发到网上的时候没改,呵呵~~~~~~
  • 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 下一条

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