下沙论坛

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

QQ登录

QQ登录

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

[求助]请教各位大虾

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-7-6 10:23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我的数据结构课程设计0 j; t& _, D6 B7 Z8 [; b% m2 M; ~ 实现一个多项式合并,字符串输入多项式,链表插入排序 4 A) o! H! ` \3 v: C' J/ {可是我运行出来结果不一样啊,大家帮我看下哪里错了,小的在此谢过啦~~~# [( S7 A5 z, f# g #include0 p! T$ M' I) ?8 i5 c( B #include 3 Z* M: ?% P0 i5 \5 G0 [7 u#define MAXSIZE 400 8 d; q; V- |" ~: T7 n' fchar a[MAXSIZE];4 a3 b" d: c# o4 G: ~ typedef struct{char elem[MAXSIZE]; 0 A! B3 B$ h5 H4 l int top;. q! K4 u. s9 i$ _7 d0 ^ }SqStack; ! _, h) f6 d' V r2 k! x# d, \% TSqStack S; 7 G( q+ m: t8 f9 {' _typedef struct poly 0 i) n- v) f, z8 b {int coef; /*xishu*/& |7 @8 M' S# z4 v" t: ] P int exp; /*zhishu*/ % E. ^; D# a; a3 [' h/ L6 r6 j \ struct poly *next; 3 t8 {4 W# V" ~8 |) o' ` }Lpoly; 3 l% M: I9 ?! \Lpoly *pa; - f3 S: Z4 |; ?" hint cf(int i) /*10^i*/ . }7 B% O1 Z% [{ int c=1,j; / M! |0 H8 O2 }$ f" j for(j=1;j<=i;j++) c=c*10; $ w( M8 D) r7 p: I% ~* T return c;+ X- G7 _+ K+ Y3 B; }* z6 \7 C3 m; R } 7 d7 e6 X7 }7 z0 R8 t& p6 A f) Tvoid input(char a[],int j)# h, u- T! o, d; P { Lpoly *p,*h,*ptr;: ^5 d& D1 c$ v/ r# U' c int i,k,flag=0,x=0; 1 @2 H7 z+ P/ n/ g% [7 \" t S.top=-1; % Y0 m7 n. ?5 M, C+ D pa=(Lpoly*)malloc(sizeof(Lpoly));2 P3 x2 f, `! x8 T; S D pa->coef=0;pa->exp=0;7 f3 B. z. Q; b. q0 u( p0 G9 h2 v h=pa;h->next=NULL; 4 ~* K0 W# U1 s p=h; /*jianlipa*/9 ~* a" G0 ^& g. v; N, j for(i=0;i<=j-1;i++). L5 m u z* S* | {ptr=(Lpoly*)malloc(sizeof(Lpoly));( I* q& H5 a/ `8 }- k3 X if(S.top' l' p D' s' B+ z, c$ d {S.top++;: Y% |5 k6 \% l( W) P- D S.elem[S.top]=a;" ^8 u) H: v. P: K: m* F }. N. ]; {' v7 [4 E F. e( M if(a=='-') flag=1; p* f7 `3 P/ i3 J! f# v1 D l if(a=='x') /*fenlixishu*/" z; N. G' q2 B8 d" }7 K% X4 I n0 R, K+ b {if(S.top==0) 0 N& J- Y' g6 t9 C' f7 [" N {if(flag==1) , e* L. r1 G c# D, g {ptr->coef=-1;ptr->next=NULL;}# g) T5 j J% G else/ N5 B' R2 d/ P+ w7 m {ptr->coef=1;ptr->next=NULL;} 6 P1 w0 o& g i1 ]" ^ }7 V1 o, D* w* J3 z* i( |, b. n else $ f) [$ A; ], j' I- R, l0 { {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k); i% N1 O& N! r" `) T ptr->coef=x;ptr->next=NULL;x=0; + k9 H+ ]2 Z; l' v) |5 c$ p } j7 ?5 g1 e4 h S.top=-1;flag=0; /*clear*/6 E/ [: [7 a; x } , j$ I" o; h# a5 O) R' L) W5 k if(a=='+'||a=='-') /*fenlizhishu*/8 A6 n8 \* R1 W6 {) v% t {if(S.top==0)/ N( ?1 t0 t) [! T/ n {ptr->exp=1;ptr->next=NULL;} ' e9 T0 m& E. Q( p! f e else # a( I# k- Y- V9 [9 p* B* a {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);( k( ^- ~7 q7 O9 g$ H4 ~ ptr->exp=x;ptr->next=NULL;x=0;. f$ t8 V' t% j! L F# F( I$ \ } /*tiquzhishu*/5 \" m- f8 C+ l# V S.top=-1; S& i+ I2 B u& r }+ u- Q% u9 y: Z+ h3 Y, x if(ptr->coef!=0&&ptr->exp!=0) 2 v- ]1 N) t. q: r* _% K- u {p->next=ptr; " Z# U; p3 R2 q+ `* h3 q" u p=ptr;. x7 ], v8 U3 I+ r5 R } " v* z1 E' V* U8 {7 q3 E if(i==j-1) + C- X3 h% H) r O: N$ @# E {if(ptr->coef==0)+ X2 x7 Z& g) V" A6 @; X6 ? {for(k=S.top;k>=0;k--) 5 i8 l. H5 U; f; U( y9 s0 J x=x+(S.elem[k]-'0')*cf(S.top-k); 7 Y- p) O& s! Q! G: q ptr->coef=x;ptr->next=NULL;7 S. J5 e3 ?) d& ]+ _ }4 H* l( d2 W" h* h else 5 @8 l8 ~. Y6 [5 l {for(k=S.top;k>=0;k--) 7 D" l! h3 N2 o( \ A x=x+(S.elem[k]-'0')*cf(S.top-k); # F9 n! F4 C/ k# f ptr->exp=x;ptr->next=NULL;6 f- v" a. V$ F% j* _' n }! I! z- t- ~+ u1 R p->next=ptr;ptr->next=NULL;6 [1 k2 Y4 b2 {: P }0 w" O: q5 ~' [6 C" Z } ( r5 _$ i8 N* N6 J} + R* _; X7 k$ Z4 I9 g, w# G& Y9 [- Ivoid stinsort(Lpoly *pa) ( w+ U2 T7 h; i8 [; U* n/ u( h/ j{ Lpoly *p,*h,*q,*k; - J# Y% ~, W& O2 N$ Q! r; i h=pa;p=K=h->next;q=p->next;0 u; N2 K4 \; q5 Q while(p->next!=NULL)( k& U; }3 H9 ^ m; B; M/ H1 ^% n {if(q->expexp) * H7 ^* M# _6 j4 B$ j {while(q->exp>k->exp) ; |' \2 p3 v" [7 r, s# { {k=k->next;4 z: ]- H8 ^( P7 T5 V4 b- v$ `$ ~5 E h=h->next; * ]- Y3 `/ e0 I; V7 B+ {; t% w }% C, p$ S6 d1 |+ X if(q->expexp) 8 _) X' Y9 C' X {p->next=q->next; 4 X, M' A+ u3 L9 x# L9 E+ p/ p4 R h->next=q;6 a; j2 K0 L' U- ]1 g; g2 E q->next=k; ; g+ ]( m- S+ ?' i$ Y6 a# h: r' c q=p->next;' |; x ?; A7 ?0 W) S. f# f# i } 9 }( Y7 N/ l6 w! k0 A if(q->exp=k->exp)$ m; o5 ~% g5 N) p, v2 B {k->coef=k->coef+q->coef; 4 Y' M8 s$ E. P p->next=q->next;3 i! U, r$ o x. z* x/ z/ o q=p->next; " W, A+ ?6 j# Y( D, p2 N } 1 ]6 n6 F) q5 v h=pa;k=h->next;6 e, i- ]1 Q4 ?& s" c: t+ F# s9 n } ! U% V3 N6 u$ U& h8 ` if(q->exp=p->exp) 4 Z' ?. a" s2 q( ?8 T j {p->coef=p->coef+q->coef; 9 D' H' S+ d0 X F5 L7 G p->next=q->next; , V+ Z+ |8 ? b+ _2 M) C q=p->next; 1 I! h9 d! |& o } ) Y) q: ?$ Q2 E4 V) m8 @. w if(q->exp>p->exp)% E( `# H. `- D& H: y {q=q->next;" Z5 \$ P" U. x1 V p=p->next; 6 e. N/ V' O- S: _( e& v }1 F( _4 k) G9 ` } 6 S* B& [ {2 z' C} # p& H" z' x5 Z0 lmain(), \) q0 V9 A* ^6 s { int i,j=0;) A) W6 O3 H& d0 ?0 W+ b printf("a=");, g: ?3 n! H3 X) I6 z; p) h# Y$ s scanf("%s",a);$ U% \6 T x- Y5 W( C# v# J( _$ c for(i=0;i<=400;i++) / w/ F3 T2 B- i0 w {if(a!='\0') j++;} ~* h& u2 r% p input(a,j);# G& L; {; ]& X: X: l stinsort(pa); ' G* l! H: g7 U( H: s printf("a="); 8 h2 p2 ^/ z! ~ for(i=0;i<=j+10;i++)) a/ e2 f |$ Z6 t3 Q3 Z* d$ r; P {printf("%dx%d+",pa->coef,pa->exp); " f1 H7 _) Y- s& x! D, Z8 O pa=pa->next;5 C6 Z! d* Z! M& B } / f9 W* N7 O I6 ]/ t1 D" X}
分享到:  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"$ g! S/ {! u+ ^ l/ M #include "string.h"& n( Q/ U& } M #include "stdio.h"

#define MAXSIZE 400 ; C! ~, c8 p0 K+ ?7 g' x3 s, Z/ zchar a[MAXSIZE];

typedef struct8 T5 O X) R% z0 u/ e- m6 U# ^+ \ { # }# s2 E1 p3 P* u |2 S char elem[MAXSIZE];- T- C+ q$ T3 X+ V N X int top;6 U1 a! c9 P2 h# U }SqStack;

SqStack S;

typedef struct poly) t3 J- R4 |, `5 s5 k {2 H# e; s( n5 d& P2 b int coef; /*xishu*/ . k" y; l0 x( |0 q1 o6 C& u3 i int exp; /*zhishu*/ 1 f% x0 n: E) i8 j& d struct poly *next; ! @- Q' K8 S( b1 S2 E) D, V, G}Lpoly;

Lpoly *pa;

int cf(int i) /*10^i*/' S% n0 E9 x$ A# ~' _. @ {) _3 U& W# Q) @$ j7 C) O int c = 1, j;6 x& R$ c$ p$ [ for(j = 1; j <= i; j ++) & A( j; _- e# j) U- E, ^ V c = c * 10;4 m9 C) g4 N C, k$ q$ j v return c; - x" q( f$ D& z! X& q8 I6 u7 C! Q}

void input(char a[],int j): q7 b5 b" }9 o( g+ o* t {" r! c' I& Z1 P/ N8 z& |, `$ A Lpoly *p, *h, *ptr;4 @! [: Q- g1 @( ]1 e int i, k, flag = 0, x = 0; ' u F; S, W7 B) ^ S.top = -1; 9 B5 k5 T. X! v' A% E pa = (Lpoly*)malloc(sizeof(Lpoly));9 q' p& w; J/ v$ [ pa->coef = 0; ( _/ h- b+ t$ g& b$ T2 ^ pa->exp = 0;1 b7 [8 [: t% d3 q9 K h = pa; ; ~8 A# ?5 R/ }4 T( @( r$ c; H( t h->next = NULL;. ?! ~2 X; D( v9 z; W p = h; /*jianlipa*/9 Q/ J V+ }: N9 T9 |' ~$ X, Y 8 v7 D0 A& T9 h2 A; h0 e: L for (i = 0; i <= j - 1; i ++) $ m) h) ^' @- a$ i# B: d4 `* a: x {4 b& |) _+ x1 t. C( H ptr = (Lpoly*)malloc(sizeof(Lpoly)); * {1 [$ j- V" P- \4 O if(S.top) + W2 [5 d: P: p) ~, ^, p2 ? {- T3 o' k: z8 Q4 Q8 [ S.top ++; 0 q) m2 D& k4 u8 |) k, j S.elem[S.top] = a; % t4 z0 Z! n- H& z0 q; F }) K/ f( U( m; F5 G/ m0 o* @ if (a == '-') ' P) S. ?" [9 [0 M' _3 u flag=1; & }: g6 ]* a4 g4 E4 f' ?% @ / a' u7 l+ F! c if(a == 'x') /*fenlixishu*/) ~) K* }. Q0 J {7 W+ x) g# z6 Q$ ?" Z if (S.top==0)5 z3 t' {. {0 d V; [ {; X) y F& M t5 @. _9 w if (flag == 1)1 x+ \& w8 N w) r { / t4 x ~7 L) P2 r2 h ptr->coef = -1;9 h# Y* N, | e ptr->next = NULL; : l2 H7 N( A m/ N+ z! t0 `8 a }6 S: n8 ~/ u: O' q else 0 l3 I8 w k8 T9 k" R5 S {( Y+ N9 s% ]8 `' l: ]0 C ptr->coef = 1;9 \; y" F$ j$ @' Y) Z' P7 u1 a0 ?0 d! r ptr->next = NULL;9 _; u, n3 N5 C! b" h }( F+ F) O3 ~) \8 t' V } ) Q- v' q* x8 m) U else 5 E# I& y n" J2 C; w4 m" p { 8 c' f7 \; Z2 a$ R4 i for (k=S.top - 1; k >= 0; k --): m; C3 H6 A8 |( O x = x + (S.elem[k] - '0') * cf(S.top - 1 - k);4 @3 ~5 r R$ b2 q. f% W U, \ ptr->coef = x;( c3 X& K% J* |& M0 ?# d ptr->next = NULL; + H( N( i0 V( i7 l! c( ` x = 0;0 A: Q3 c" a- C3 Z } ! q ?0 S* ~5 [1 {2 D S.top = -1;6 Z4 d, L' o" } flag = 0; /*clear*/ + C- n [- L: b3 k2 P% \# Q }7 e H4 r. n+ a! }! c" T+ i! ^1 z if (a == '+' || a == '-') /*fenlizhishu*/- X2 _5 u1 ]! c7 y8 v) @% r: @ { 6 e L0 H, Y9 \0 J# R2 Z5 Y) F if(S.top == 0) 8 D' [% b, m8 i T2 W { Y7 {7 I: B, [" l' Z, M ptr->exp = 1; / o) U! U. W! j$ u& s5 k ptr->next = NULL; 8 u1 _8 x6 U' k+ u } # T& u* V/ Q; b4 m7 [ else. d* K; P5 [$ A$ b( Y. G6 @ Y {8 F/ y- B0 O/ F$ l for (k = S.top - 1; k >= 0; k --)* A% r7 ^* h' U' ^1 Y x = x + (S.elem[k] - '0') * cf(S.top - 1 - k); : F: H2 C! R- H2 j3 \& J ptr->exp = x; ~) q' R7 M/ {: m ptr->next = NULL;6 q) R! [' m4 f6 D! c x = 0; # E, M, h: v5 N1 E( H9 |9 e }/*tiquzhishu*/ 0 }+ t& e* L3 |; ^ S.top = -1; H @9 E0 F9 u' K } 4 c. _0 |6 }7 T" W! A U N if (ptr->coef != 0 && ptr->exp != 0)" `; i0 L% @; `2 g; C5 x {+ p6 C1 [ a% z; H: }8 B1 d/ o' c p->next = ptr; # U) ?: y; x$ V2 E' T p = ptr; 7 I* D+ x7 B% [2 R1 B+ P } u# L& ~. X4 t: c$ V if (i == j - 1): k0 w6 c" X2 h w3 i. c; K, [* B0 D; @ { s; e8 q# a( }3 M1 u if (ptr->coef == 0) / O5 G0 X' n0 t# n9 P { $ v0 @" s5 ?* Z! Q$ H5 W for (k = S.top; k >= 0; k --); [ g1 ^8 N7 P% `, F4 E9 F x = x + (S.elem[k] - '0') * cf(S.top - k); v& |6 _6 o6 u( n) c" G ptr->coef = x; % ~% p% Y' c3 P. P ptr->next = NULL; , k5 u3 \' d E9 M! H# B3 ~ } 9 e- W, F5 H5 K else " r$ Y& F: `; I: S {/ J, f6 i. \$ [2 n% M- A, L for (k = S.top; k >= 0; k --) % ^2 Y0 R- ]& M; I/ {$ W! F x = x + (S.elem[k] - '0') * cf(S.top - k);6 z: ?, w7 O0 m o ptr->exp = x;" C' D& K& R2 M# `' H% x8 |& H8 K" C ptr->next = NULL;5 @7 q. P8 I& o; g+ Y6 L9 x- v }' S7 ^. s3 r( y4 y/ f. z p->next = ptr;0 s- L- M0 y* U ptr->next = NULL;" C$ |" x y) V. [ }6 E* M) {8 F# H4 L } 2 [/ @& q2 u5 q/ ~}

void stinsort(Lpoly *pa)# E( ?& \0 m$ w, E {* x! n2 i; N; a7 _4 z Lpoly *p, *h, *q, *k; ; k; b! C. w. O3 A e h = pa;$ ~$ i, R0 W" G! S4 o0 M p = k = h->next;: m3 D0 @1 [) {* U0 m( m* F# @ q = p->next;0 @( T" l* c6 k" S while (p->next != NULL) % @, {0 k' ~( [4 _% o, p { # ?. l9 s+ W! ]: ?; k if (q->exp) ! D! t- B" R& a" x$ r { $ c( L: V" r6 ?3 Q# x" U+ m" T while(q->exp > k->exp)1 [) |1 O9 D' h' L* X {. F+ q! R# }' R( U) ?' d k = k->next; / ^6 j1 f9 N+ R! d& t6 y3 O h = h->next;$ e# v4 m! W' Y, i. v; f }8 W: t$ z) r% ` R0 J if(q->exp)7 X- L7 m+ J) a' S/ Z7 o/ t { ! q$ t! S$ o9 @# t/ w# K* A p->next = q->next; `" I, a1 V) r& ]$ G4 V h->next = q; ' }* |% k: a# Y Q8 s& ?2 u4 P2 S q->next = k;* `. N! c+ [0 Q' T1 g! o5 h q = p->next; + O0 G: M# {" U+ H }4 f0 d) O) x3 @1 }- M. d$ J' O9 O& { if (q->exp = k->exp) & N, t' c3 s# B7 d {5 J% z/ k& `; j: H( ^ k->coef = k->coef + q->coef; / l5 R% k$ U4 C9 j4 B% r! N p->next = q->next; & }" O `/ \ ?9 Y: b$ G7 h e. [ q = p->next;( j. i- \/ j* g5 B7 h$ ]* e }6 E! c7 X* ~: _$ c0 ` h=pa;' p2 \4 Y0 C* [) M: v$ x* R5 M k = h->next; 4 @8 T' u* s( m6 W: p) w( U } & @. Z: y$ ^; h) E4 M& S, w 6 l5 a+ y, n7 N if (q->exp = p->exp). ]; m. b( @0 r$ B { & f/ G, n: E: m, E- x9 G% g p->coef = p->coef + q->coef;( W A3 g: a0 L( x6 x p->next = q->next;- A% X: f4 r) k& b7 P4 ]! D' g! B q = p->next; ! j" i! P: t. O }. ?# ^) q% E& D' L if (q->exp > p->exp)% Z- I+ `5 f6 p+ F% I9 Z4 D { " X/ o; `$ b0 x# M/ Z6 H4 r& G) D q = q->next; ! f$ V0 X1 j! M2 ]% x! p8 Y p = p->next;6 u- _" _: g. C }& r# D4 g4 \$ n* k }2 ~9 u+ \! y) ~4 p: Z( t% Z& E }

main() % w% b' L5 W. `1 W+ ]6 g6 \$ j$ X+ o{- E3 Y' h; G$ [% T- l int i, j = 0; + X: k o/ W4 h K+ { _ printf("a="); 8 J% a: s( T9 M scanf("%s", a); ; ^7 D1 Y& o( e( J6 K3 H j = strlen(a);

input(a, j);" B& e6 c# q n5 T: v( q stinsort(pa); j6 L4 M' {0 z- w$ h3 [ printf("a=");6 l- j9 I8 |" e% f4 c for (i = 0; i <= j + 10; i ++)5 F0 @5 C5 x. e3 t: Y; N { # e- l( C( {3 Z5 i: \7 M printf("%dx%d+", pa->coef, pa->exp);5 n2 j$ h% g x! N3 s pa = pa->next;4 {& ?1 K# g3 t8 g } 3 V, |8 |# p: m- @} ) o, K' c/ d' G7 p/ _3 x0 x

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

该用户从未签到

7
 楼主| 发表于 2005-9-17 17:28:00 | 只看该作者
这是上学期的数据结构课程设计
3 K/ Q7 [& S# z4 c结果我已经弄出来了,得了个优秀,没跟大家说不好意思  ^* A; u0 O9 D' k
多谢大家给的意见,我现在水平还很差' N3 @5 y% J( Z( N  P0 `" L* r
至于注释都是给自己看的,发到网上的时候没改,呵呵~~~~~~
  • 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 下一条

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