下沙论坛

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

QQ登录

QQ登录

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

[求助]请教各位大虾

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-7-6 10:23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我的数据结构课程设计 2 z( J; U5 \6 F7 w实现一个多项式合并,字符串输入多项式,链表插入排序 $ B M5 M6 l3 [1 h7 j可是我运行出来结果不一样啊,大家帮我看下哪里错了,小的在此谢过啦~~~$ K$ q- C6 A7 @4 c; D #include$ G( p( \5 A6 L #include : L2 M' {' L9 m- v: x/ N#define MAXSIZE 400 3 C/ w: Q! B. Kchar a[MAXSIZE]; 5 X- p: r" e% ~3 ~: ^typedef struct{char elem[MAXSIZE];0 f# A) o1 G" s# q$ d; X# h int top; 4 J8 L& }& b( [! S% B$ s1 g }SqStack;. U" T: U o( [7 i6 o/ {. F2 P- V SqStack S; ) A' u; E, d* ?# C2 |5 a' @typedef struct poly : f0 S1 t/ Q: V9 P: @8 {+ S {int coef; /*xishu*/ ! [! |9 ^6 e5 ` int exp; /*zhishu*/ 8 Y5 U/ u5 g" N: p# }$ s. C struct poly *next;( X1 m, U# g: J% ^ }Lpoly; 3 l% L1 E1 d3 v; r8 n* \Lpoly *pa;' c8 s: K K: u- x int cf(int i) /*10^i*// M* h$ ?/ h% }, R { int c=1,j; 4 \; M4 @; h, ~ for(j=1;j<=i;j++) c=c*10; , W0 b2 a( F, i4 Z9 K' V' G return c;: G! V/ r: X9 v4 t' u- l } $ c8 z; g9 [0 x. Uvoid input(char a[],int j) 6 I2 _6 l; s) [{ Lpoly *p,*h,*ptr; : F+ G# |3 k3 } int i,k,flag=0,x=0;" s( t9 N1 f( v" D# R- s S.top=-1; + }) |) {$ j5 t7 f pa=(Lpoly*)malloc(sizeof(Lpoly));1 l+ M c3 A7 g; Z+ _0 m, F pa->coef=0;pa->exp=0;& e# d" l3 P$ o4 F/ Q h=pa;h->next=NULL; 8 c, V8 ?4 f- q5 K( M2 _! }# H- | u p=h; /*jianlipa*/ 1 C( m) h: Z7 S2 R5 s1 I$ d) i8 O for(i=0;i<=j-1;i++)* _! k' A" R! n+ G8 o9 u& ^ {ptr=(Lpoly*)malloc(sizeof(Lpoly));& H* U) |/ z# r1 O# c# E+ f' H if(S.top+ _6 p' O" i* e. x `* h# J1 _* r {S.top++;7 C) d7 H1 _- V2 S S.elem[S.top]=a;; a/ G9 {4 u2 @ } " c# U& X. {1 d9 U/ h ]4 p$ r- `: a if(a=='-') flag=1; % P* o% x7 z$ d' \ O; X if(a=='x') /*fenlixishu*/2 H. T( ^1 T# z- N6 V. Q& ^2 r {if(S.top==0)) o5 y' S0 o7 O$ H/ T1 ?2 C {if(flag==1) * ?- b& _. a6 j& X! S9 @ {ptr->coef=-1;ptr->next=NULL;}+ g8 V. \ z |0 X; m else 3 }1 |6 u* ?/ q6 A& \1 @. g( @ {ptr->coef=1;ptr->next=NULL;} , v/ }+ S3 q: q( z, Y+ n7 a& u } : ~7 H. s: A/ i9 `# V else; t: n, H' d. k {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);- z- d; H8 j# w) S ptr->coef=x;ptr->next=NULL;x=0;- }: a" O& n6 \9 t3 f } ! [" ~3 F- l) }- x( G$ C S.top=-1;flag=0; /*clear*/3 ]: {, P6 h0 l( i5 ]: n } - Z1 ~$ a5 F# x# [& H& H' W if(a=='+'||a=='-') /*fenlizhishu*/8 d) X" G& J( z' F- L( I# } {if(S.top==0) & C* W+ X1 p' s B% e {ptr->exp=1;ptr->next=NULL;} T( ~, f/ Z0 w" x/ ~/ T5 J0 I else5 O7 V! [, u. l' {2 C2 h {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k); & ] o8 |9 L$ l, q( {( Y6 \ ptr->exp=x;ptr->next=NULL;x=0; ! x( h8 f4 j8 p$ x1 K6 `( n } /*tiquzhishu*/6 }: K" @$ f8 G; Y1 Y S.top=-1; 6 O3 B0 i- l! T+ n/ R }( j$ ?/ E$ E1 l) q if(ptr->coef!=0&&ptr->exp!=0)! y7 C& g5 {9 a n) L' g {p->next=ptr;& j" i6 P( w# ~/ A) }& E p=ptr;+ [+ F2 W2 k" J } |- ^, U [: X! j if(i==j-1)1 N! j' F' _. d$ |# I {if(ptr->coef==0) / G# q/ t7 }. Q. P5 T {for(k=S.top;k>=0;k--)7 u9 Q7 g# Z0 [7 j/ I) C( A x=x+(S.elem[k]-'0')*cf(S.top-k); " f: H4 ^5 p* ^* P" M( }/ M ptr->coef=x;ptr->next=NULL; , s4 @8 k9 X+ r* C, l5 z, X }8 b! R% j l; J) s3 I, q else # Q+ @1 f- }0 d* Y# a {for(k=S.top;k>=0;k--)1 S2 k; X6 `5 }' g x=x+(S.elem[k]-'0')*cf(S.top-k);8 p5 O( `+ G. j5 K/ {& y: h ptr->exp=x;ptr->next=NULL; - ]6 N& }' f9 X }. O- }% Z! o$ s# K p->next=ptr;ptr->next=NULL; 5 z+ o' R% X; |4 i2 ~5 y$ }( e3 ^9 K+ v }7 e+ l, w- V" k( d5 l) T5 X } * R; ^* o* D- S( u$ O4 h0 o} # J' Z: X; E5 G p+ E* R1 }( Pvoid stinsort(Lpoly *pa)9 r2 Y( ?2 N8 u0 t { Lpoly *p,*h,*q,*k;; a2 f9 j5 u1 ?; ?& t3 B6 { h=pa;p=K=h->next;q=p->next;+ v2 b% x5 Z* l: c6 ^& [8 z while(p->next!=NULL) " a C' h3 T7 l( D# [" q {if(q->expexp) & `% v8 I$ w3 s4 j" J7 o% Z, V4 X {while(q->exp>k->exp)/ G: s, S3 t. h {k=k->next;6 n5 V9 B, o B: @( t h=h->next; , S/ t3 d0 }$ Q; l8 u } - e8 A# s/ b3 U* E* ` if(q->expexp) , X6 D5 p$ H* ^4 o! `7 j2 C! x {p->next=q->next;5 Y8 Q/ y' j7 J" i; b h->next=q; 9 ~; R0 v8 j- U, E- A e7 f q->next=k;7 {6 j. h3 T8 }+ j4 a& Z/ P q=p->next;# I y+ c [$ _+ ~! Y } & k9 J; w2 F B/ U* D if(q->exp=k->exp)0 G- ?) \2 I; v3 {- G9 w {k->coef=k->coef+q->coef; # p0 K0 ~: t o( b4 p: O p->next=q->next;( U/ P+ z$ G% c, C, d: q2 N q=p->next; + n+ v8 f9 J8 M' U }/ B. B; P# Y L3 y' u% V h=pa;k=h->next;4 q% X# A' A& q0 d- Z4 C# d }, N, s- z$ C+ ]. j* R if(q->exp=p->exp) V3 h* t6 y% ^ {p->coef=p->coef+q->coef;- B0 s" q! B# Z0 }% N p->next=q->next;/ Q7 T5 d) ~, R8 \( ^$ ^ q=p->next; # I: G0 i# R/ W } 5 Z% G6 ^2 ?0 A0 t8 t7 l: _ if(q->exp>p->exp) 3 Y( @ r6 `% H {q=q->next; 7 `1 B0 C2 G- f, V7 |0 ]5 o# j p=p->next; # c- j4 N) ~& R& t1 ]" W9 n6 A) E" j }2 F: e3 B# c" p! X } ( b4 i% E! O2 K} 7 |9 H2 a. ~$ }/ L0 o5 Mmain() + o, t5 v3 U& b2 f{ int i,j=0; 5 L' `; J7 ^0 Z- R printf("a="); ( v, k2 r: E3 l* E3 Y6 b$ v scanf("%s",a); 8 h1 k' t# V7 m& l4 ^5 g: q for(i=0;i<=400;i++)5 A& m; Z+ u9 L% O {if(a!='\0') j++;}( V8 k T' w4 l- A! X$ W& K input(a,j); ! m! E) U) a: e& k' I: O; d stinsort(pa);4 Q. s u* a/ h# }. ]( g8 ^ printf("a="); ! v- c/ ^8 ~6 v' U* a2 \- }* Y: l for(i=0;i<=j+10;i++)* L2 _' }' }6 V4 v! O' t {printf("%dx%d+",pa->coef,pa->exp);8 j9 B6 p8 A: v, c; _$ x1 l pa=pa->next;/ y* g3 g) g: D4 f% i# `5 g }9 g4 f5 ?7 {# L }
分享到:  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 B& R$ T; {0 c8 k4 k# H- O' _ #include "string.h" $ g! p- D( ~) U- L3 r#include "stdio.h"

#define MAXSIZE 400. U/ r0 a/ F# J- O) R char a[MAXSIZE];

typedef struct; q3 D/ [' I ^0 ^; E6 l { 4 J3 s6 z& B0 B1 E8 A; G char elem[MAXSIZE]; : h5 \& u" l& ]7 x0 ?9 v; h5 w int top;4 v8 ~1 r( a; Q- ~7 S }SqStack;

SqStack S;

typedef struct poly6 C. E6 F* D& [+ q {& v% C1 \& W* ?% b5 Y: Y$ y3 I int coef; /*xishu*// o/ _- [) m+ o int exp; /*zhishu*/" ~2 Y# z; a( R( m) `6 e struct poly *next;* r; b. R; O# ] u, P }Lpoly;

Lpoly *pa;

int cf(int i) /*10^i*/ $ J% U- q- x% P3 Z$ p( l{ ) ], o8 l# C- { int c = 1, j; ; Z3 w) X; C3 Y; r6 L for(j = 1; j <= i; j ++) ! V! I% @# L& k o3 ^2 C1 w. q c = c * 10; ! \ R/ l: n; m4 b" j' u return c;" l; e" H$ n7 K }

void input(char a[],int j) , @) I! ~5 L N* T7 U/ ?6 J{ / b; D) R1 {0 G) d* k+ y Lpoly *p, *h, *ptr; . x& P3 z* @) C8 A* T" ~ int i, k, flag = 0, x = 0;% _2 J1 _, G+ {* X1 o S.top = -1; / ~& |2 M' W- w0 S7 H pa = (Lpoly*)malloc(sizeof(Lpoly));/ ?" n" N9 H N# U: I- c& Q pa->coef = 0; 7 J. P& F- b4 Z: t7 l pa->exp = 0;. C1 e& i( j3 r" }: V% H* k1 I h = pa; ! c T+ d: i9 K( R5 Q3 a h->next = NULL; + J! v/ ]% g+ A% [) ^( A4 o p = h; /*jianlipa*/ % y6 ?0 F: E4 u6 r # k- i- y; M2 p, p5 e for (i = 0; i <= j - 1; i ++) : ] \2 t4 R: V5 V* @ {4 o; Y: k- t: O4 h ptr = (Lpoly*)malloc(sizeof(Lpoly)); % W$ x8 j, M- g* Q if(S.top) 1 L" n' i0 ]/ ^5 K0 ]) B! G- L' C! b {& n( w; S, B9 d6 S. d5 ` S.top ++;" I0 y% z7 e& O2 S9 ^ S.elem[S.top] = a; 3 j) E% m2 ?6 O }0 U; F, O: w3 J& b if (a == '-')- M4 N- F7 p& ?4 R6 b flag=1; ! @/ T5 \* K. e- H! I# r& q # f+ l( @8 ?/ n! k9 X W- L9 f; M1 g if(a == 'x') /*fenlixishu*/ ! B6 ^' P# G2 c- C { 7 \& k! w) n5 @7 }$ b }+ S' e& Q! I if (S.top==0) 7 r8 S( W$ {1 K7 z1 s { 6 O; M. P8 Y; ^5 l6 n- o if (flag == 1)9 u( K) H, N2 q& t6 ~* |% | { E! H* s9 W0 `1 R8 c3 U# g& N ptr->coef = -1; , Y6 D( l# L& k" ^ ptr->next = NULL; # j5 v \) {& u/ p } 8 z+ i( w& p6 a( H- q+ Z else F) ^- F T7 Q! Z0 A { ( H; {" Y, T6 t* `9 s ptr->coef = 1;$ Z1 n: o2 T2 V2 f/ L7 l7 \ ptr->next = NULL;3 r! E) a& I6 {7 { }- n/ S& O2 R, q/ G1 \; t9 P0 J }% d* O* j) W- F# ?5 A& ` else( j" _9 Q8 E4 k1 q( d% A" I" d { ) @* O! o% c% Q for (k=S.top - 1; k >= 0; k --) / c0 S, l/ A# D" R; U x = x + (S.elem[k] - '0') * cf(S.top - 1 - k);1 w- G8 A2 a) o" X7 x ptr->coef = x;6 [! z3 \9 _3 ~6 h) g! e! W ptr->next = NULL;! [0 w ~( P# a$ w: V x = 0;2 p: m# v4 x% Q, B, U' D7 h2 D0 g } ' c& U% G* P8 |' p; ^4 b/ \ S.top = -1; a& L4 R3 G! M0 k5 l7 k+ G$ F. _" S flag = 0; /*clear*/6 N0 l6 C4 B. F4 F$ h7 R } 2 ~6 ?6 x, E2 y+ y# f } if (a == '+' || a == '-') /*fenlizhishu*/9 C* F* H: |+ |. z {9 j& V& ]4 I- i% W% G if(S.top == 0) ) l* Y8 i/ D' v/ H) I8 }- e: f {7 n+ @5 U4 Y+ O$ K/ Y- f) c; P ptr->exp = 1; / b& c6 o; q) O4 ], ^. q ptr->next = NULL;' t. e' f% G# x6 a$ N- v! f' F } / c6 m* r$ m) t else1 v8 H; O7 Z5 j. S; U {. j9 K# D; ^* `" \9 b! l2 f for (k = S.top - 1; k >= 0; k --) + k8 A; c4 @/ `4 Z5 U8 M. T x = x + (S.elem[k] - '0') * cf(S.top - 1 - k); ( z3 A# `( C$ U0 }+ x ptr->exp = x;+ \/ J6 P5 v! r+ W2 v' t ptr->next = NULL;9 y e: x1 {4 V6 S7 V1 Q x = 0;6 f2 M5 M$ R. A# b6 f# u" \& g( b }/*tiquzhishu*/ . _( \1 m" n3 ~9 { S.top = -1;8 [. k6 c3 G1 _: h+ }& _ }' V; w- F9 [. H+ g0 _0 [ if (ptr->coef != 0 && ptr->exp != 0)! R/ r6 [# s( j7 x5 S# h { ) G4 o' g' A+ A1 h, T& ~. s p->next = ptr; I! m& J8 V; u" s4 C" G, ]. U p = ptr;7 E6 C! ]; b4 \5 H } : V. H9 r$ U3 j2 u if (i == j - 1) 2 V) s, x J, X {3 Q# i- G, k# S. y if (ptr->coef == 0)2 t/ X# D+ ?+ e1 c" Y! z { ' M7 b2 n G' |9 ^ for (k = S.top; k >= 0; k --)+ L0 n: L* B# w9 W: n6 a2 V x = x + (S.elem[k] - '0') * cf(S.top - k);( s5 W: J3 `& J3 ` ptr->coef = x;7 Z1 h, G" v' @% I ptr->next = NULL;. N% s; h+ T E/ ? }3 S: {' f8 P( K' X$ C, E else ) F" M$ H0 |) Z6 k; J2 | { 1 W2 Z$ a( A( I4 ^ for (k = S.top; k >= 0; k --) ( k; D. N3 x# P5 G8 Y+ I x = x + (S.elem[k] - '0') * cf(S.top - k);" S7 y+ z8 q. R" i ptr->exp = x;! S) h5 A! g: C. J" a0 s ptr->next = NULL;% l9 r5 N ^& A& v" ~ } - l1 T G, n! c2 n$ n p->next = ptr; 1 a) o) q0 J/ L5 \ ptr->next = NULL; 2 d, J5 a& g9 }3 N& e }8 o: t/ t% W) h7 ~3 c, e" i- b4 d5 t }& s) S% ?# P0 i- H: q' f1 n }

void stinsort(Lpoly *pa) 6 l+ d$ b5 X4 S$ h m$ r8 T6 G: l{7 l/ z6 O) S: x6 R) Q- | Lpoly *p, *h, *q, *k;! [0 T6 p. d) M0 H* B7 {) E, r h = pa; 0 y% w0 G8 h2 I3 P- ?! O9 S p = k = h->next;& W' x; V B4 _& {: R0 `; \" Y0 b' ` q = p->next; 2 X/ g H" @ {& t- `6 B while (p->next != NULL) 8 ^" I. h" f7 o- p1 \# A {5 E& @0 _$ P( U# j- Q if (q->exp) & q D0 \5 `! u, U( \ { * d, C- e! Z( J7 S+ ^ while(q->exp > k->exp) 9 `7 ?3 d7 t( g3 _* I8 } {( a4 ~1 C) k. u/ e/ S k = k->next;# J! x- _8 |8 i2 R0 X0 P h = h->next; " v9 b) \% k8 _; ^ }9 Z1 N- v, y6 K3 z7 L- w# h if(q->exp)9 z. i* h) A: Y3 m { 6 Q* ^6 e& H" G* Y' B' K1 K; { p->next = q->next;% n- u+ \# Z, R: h+ ] h->next = q;/ ~! J( ]4 X3 L+ k q->next = k; - r; `8 x2 L( c q = p->next;, a' o) l5 v% l: @4 y3 Q3 w } * ?/ \* c2 R% B; g if (q->exp = k->exp) : n* T: x0 O# K, c2 u3 w/ R { + @( u5 c4 _6 L+ @ k->coef = k->coef + q->coef;+ s: {2 z% u+ d# `8 ? p->next = q->next; 3 Y1 ~0 x0 M$ J& ?3 P, J1 | q = p->next; * ?) q6 F0 g0 y d } . F( R" x6 D7 v- K W" |- S1 C h=pa; - y& U1 W0 S( R: G/ g k = h->next; , e( q1 r2 e( N! G5 o# P) |) c3 y ] }2 A$ L7 L w6 p: T5 z( r# e - }- U: Z! `: {# Q' [8 v; E if (q->exp = p->exp) 5 \! h" a B$ W0 ? {; k `6 L+ Y1 c p->coef = p->coef + q->coef;" A) l# d. p7 r0 O7 w4 A7 X) { p->next = q->next; # N9 a0 O' e2 {% F/ k q = p->next;0 |+ T, k7 T, p } ( A) P$ d3 z8 ?; \9 \ if (q->exp > p->exp)) C: U" x' @9 _$ R% T9 \" i { - B$ e% C$ V5 s1 K) m q = q->next; 0 Q4 }0 a+ ^- ~4 {. u: a/ q p = p->next; 0 T/ ]& P- Q/ } } 3 `! B e4 n2 C' _ } % l# E$ i# n# t5 B: p3 F}

main() 0 I- v7 H( ?$ h1 \' G t{ . n/ x; L3 ^6 K; Q$ y# D: ^& ^ int i, j = 0; k7 ^7 ^' o0 r# p% k8 M printf("a="); 2 H! x7 v" P2 ~ b& i5 y0 w scanf("%s", a); # d+ g- ~" [/ K- W1 Y j = strlen(a);

input(a, j);7 ^* g {: V$ b. @5 P! ` stinsort(pa);3 m% b& Z; u% \- ~) K% |4 S printf("a="); ; }7 q/ H" T9 R. c" E% l$ { for (i = 0; i <= j + 10; i ++) ) ^6 H7 [) N3 K# k) C% Q { 2 ^: C' r- L- m' d6 v/ l* ] printf("%dx%d+", pa->coef, pa->exp);' h6 ?- n. H1 i7 k# d' L pa = pa->next; * W' C# Q* ?! R3 U. ?( Z } 3 N% D; i; V$ F- N" r5 [} ; q/ i' b% f' a

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

该用户从未签到

7
 楼主| 发表于 2005-9-17 17:28:00 | 只看该作者
这是上学期的数据结构课程设计6 y5 J5 _- U+ V1 K: ~3 b9 z/ y& U
结果我已经弄出来了,得了个优秀,没跟大家说不好意思
& E) k% c# T& J% d( M% L( l多谢大家给的意见,我现在水平还很差0 R: ]$ Z" e1 e# b# 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 下一条

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