下沙论坛

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

QQ登录

QQ登录

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

[求助]请教各位大虾

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-7-6 10:23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我的数据结构课程设计 ( q5 N H: H, h实现一个多项式合并,字符串输入多项式,链表插入排序* y X- l {* U( H' I 可是我运行出来结果不一样啊,大家帮我看下哪里错了,小的在此谢过啦~~~ ; H( } t# E% a1 d6 H#include& p. L+ h4 B: _' d #include 9 {! p: p2 R" q6 B0 P6 h" ^6 d4 P#define MAXSIZE 400- g- H8 G6 T9 U, _7 B char a[MAXSIZE]; $ [, A l5 ^. x4 vtypedef struct{char elem[MAXSIZE]; 9 t& z: l( G2 }7 v& R5 T6 ? int top;0 @! d9 p) O3 _ }SqStack; / U/ m$ \3 D" J. BSqStack S;2 e; ?, x/ q. I5 O, p typedef struct poly + k0 X& o! H" x* o! `/ i {int coef; /*xishu*/ . P1 W: L+ {9 Y' l1 D3 _, w int exp; /*zhishu*/ 6 V& X! M ~. M7 A) s struct poly *next;/ Z6 a% H: W# r. A' y% X& z z1 C; H }Lpoly;" R& Q+ L) N6 J" y; ]' }4 }4 c Lpoly *pa; $ r$ L U' n bint cf(int i) /*10^i*/+ T3 H7 Z( t/ ~5 a7 m) { { int c=1,j;% h/ T$ u Q) J( X: c for(j=1;j<=i;j++) c=c*10; ' Y# G) {) }, f+ S: h; l* [ return c;) o& z- ?0 s. Y/ o% e } : m. g. q. U M+ J& v3 P7 W. Uvoid input(char a[],int j) & K+ |4 L' C1 z4 {0 k, P{ Lpoly *p,*h,*ptr;4 D6 m# K" t0 P9 H0 j$ [2 y int i,k,flag=0,x=0; 4 r& H3 A$ S/ M" J9 \ S.top=-1; * u. J( W5 O6 f; } pa=(Lpoly*)malloc(sizeof(Lpoly));) l' G3 N7 `3 d2 Y( I- G1 J8 g z pa->coef=0;pa->exp=0; ! q: m1 e8 }: Q/ \ h=pa;h->next=NULL;& L( C7 @: \6 \8 I" u p=h; /*jianlipa*/, @, l3 t; s+ T9 ^1 J2 Y% L for(i=0;i<=j-1;i++) 6 o4 L' Z, g/ w6 x: P {ptr=(Lpoly*)malloc(sizeof(Lpoly)); ! n0 R' x9 V3 d2 K if(S.top. ~' J6 i7 g" }7 n+ g9 R: y0 k. d {S.top++;7 O/ s# Z* T Q S.elem[S.top]=a; " y2 u/ l6 E9 _5 C }! m( } J( J9 o) a# H+ j8 b: C' @6 w if(a=='-') flag=1;7 w5 J7 q( [" o) J6 P$ K5 y. |- h if(a=='x') /*fenlixishu*/9 }* h3 a! ^" r9 ~7 I8 w {if(S.top==0)% v- ]; i9 p, L+ Y) S {if(flag==1) ' N! _) Z- W5 G( K9 f {ptr->coef=-1;ptr->next=NULL;}7 `6 m9 U/ f; Y% ~# n2 Q k* K else" \- t& B: w/ M t4 ~ {ptr->coef=1;ptr->next=NULL;} ) ^3 C" {5 Z P3 B5 {- {% ` }4 h, {1 N7 t* c% ^ else: D* K B) C2 B1 K4 U" O4 \+ |3 S {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);2 ~: M$ w* {. E; k ptr->coef=x;ptr->next=NULL;x=0;9 F0 o- Z( U/ E6 `: S } % ^! W+ e" Q+ X5 S/ i S.top=-1;flag=0; /*clear*/& H6 r7 n/ k1 ^0 G! p } 0 P5 q4 l- S. W2 |4 x if(a=='+'||a=='-') /*fenlizhishu*/ & u/ x" i9 p) p0 q1 A, E$ S" b {if(S.top==0) ! s; q1 {7 S6 Q {ptr->exp=1;ptr->next=NULL;} ; z- V" @2 ^/ ?) @; m1 B) A else 1 x& {+ C& {; v) t0 T& s {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);! |/ T0 j5 S# g. x) A ptr->exp=x;ptr->next=NULL;x=0;" i& a/ d8 G( o } /*tiquzhishu*/) w3 A5 j9 q, Q: k, ~ S.top=-1;2 l5 o5 [2 T2 r# o1 E5 G } n h1 A" |6 W! R if(ptr->coef!=0&&ptr->exp!=0) 8 v0 a9 D) T! ^% O {p->next=ptr;8 P# R. Y5 w* V7 n! e# A6 ?0 U p=ptr; L; b5 H& A% P1 [: m }# ?$ q: N/ g& N8 h4 t. u6 a if(i==j-1): ^+ L9 [' H3 U9 D. r1 L/ r {if(ptr->coef==0)) `' C' w& z8 J. | {for(k=S.top;k>=0;k--)2 v. G( w' j5 C, e2 g x=x+(S.elem[k]-'0')*cf(S.top-k); + [% i3 {7 h( _) W3 N7 k ptr->coef=x;ptr->next=NULL; - W$ G$ @* U3 J. a* E; j }3 l. e7 W8 G5 D( ]$ l r* A, q else# `3 X, B X% n0 R: V% \% ? {for(k=S.top;k>=0;k--) ! m2 i4 _/ S# {; D x=x+(S.elem[k]-'0')*cf(S.top-k); & ]+ v% k1 j2 C8 s% x# K ptr->exp=x;ptr->next=NULL;$ R( A" j+ {/ |% a }- U5 W: g# m+ Y) \( p2 A p->next=ptr;ptr->next=NULL; % j% @. H8 A" e0 T8 x |0 }6 q- L6 [1 N }" r# `) p- J* D7 R' J } " x+ Z1 N+ W4 s+ \$ C( B} 9 H) k; F4 y/ Dvoid stinsort(Lpoly *pa) 0 B9 u/ n5 |9 b! c6 D$ l{ Lpoly *p,*h,*q,*k; " K7 k' P. t6 W' a k7 X) |6 b h=pa;p=K=h->next;q=p->next; 8 P0 _, u! a% |: U% |; b+ @ while(p->next!=NULL) ' s% x! {: A4 Q/ }: u- B {if(q->expexp)# J1 D& k1 |% \5 N {while(q->exp>k->exp) 6 w) V* y1 |/ G+ A2 D c {k=k->next; ( q: _" C+ S- r" B$ S1 o5 ~5 r h=h->next; % v) l- a: k& F3 G/ O; ? }. y! o" \2 [: B if(q->expexp) 5 Y0 R' B6 V0 C! x7 N {p->next=q->next;* C2 k5 l- G0 u; }3 { E- Z# e h->next=q;) A1 r9 U3 j/ y& D, A& g4 f q->next=k; , i- S: l1 V5 r; F; U/ S q=p->next; $ n% m, }% K$ ?, B- L }* D8 [1 N8 M0 S, O' U if(q->exp=k->exp)3 R1 g2 q0 v/ j4 P( U {k->coef=k->coef+q->coef; z+ A+ n6 L3 n- q p->next=q->next; * ^. {( R/ s$ @ q=p->next;4 h% l( Q. P8 h) j$ ?; Q4 ^* G6 `$ R } + p2 l8 H+ |$ }7 k! G: P9 G h=pa;k=h->next;# R+ J+ X& u5 q3 i; f } / {( y( G" h9 h if(q->exp=p->exp)6 g: F# y- G( e; c8 Q {p->coef=p->coef+q->coef;0 | |: f; E* ~5 \' @ p->next=q->next; / { n+ G; J7 U$ V; \6 E5 N q=p->next; + S8 E4 s! H: x } 1 X# Q" D: s/ O- o! z- Y* z9 Y if(q->exp>p->exp)7 G2 V5 f5 s0 E X- r5 s {q=q->next; 4 A0 ?' l( ~" U/ d p=p->next; ! ~! S. J* l9 k- V& d }. B! S0 N* m, c8 a( Y6 A. W } ! W- U! S" y# v' F" x' j7 n} r! L( y' n* S- F# k main() $ [6 r6 i; g+ G0 V2 ~% _9 W- K{ int i,j=0; $ F. P+ [4 u# n0 w% P3 ] printf("a=");5 f5 p/ z0 }3 f, b scanf("%s",a);" ~+ v& Z2 e. A' \0 q; o% n2 I for(i=0;i<=400;i++)5 @- O3 G! M6 o {if(a!='\0') j++;} 8 ]4 U7 h/ c- X+ M( s b% d9 L input(a,j);" s+ ?7 H' O3 {( ~ stinsort(pa);% C3 Y% M% a! M+ \ printf("a=");& O" |, y; Y4 L% s- b for(i=0;i<=j+10;i++) # W0 \* Q$ n- ]: x: ]& O* t {printf("%dx%d+",pa->coef,pa->exp); - }+ {: \1 C4 i1 F3 x pa=pa->next; 7 G8 {& O# u+ G8 d: C5 i% ] } 1 Q$ _% C+ j @3 ]9 E5 F3 k) d* W}
分享到:  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" $ p) o+ c, b' P& f$ v* H#include "string.h"* S) B( h. g9 d d) V4 H. O6 t #include "stdio.h"

#define MAXSIZE 400 ) m) t( N3 ]' l6 [% I" F) jchar a[MAXSIZE];

typedef struct 8 ^- l. B% A; G; { P: q4 s{. B' |: l; l7 Y: ` J8 ` char elem[MAXSIZE]; 0 q. x Q- H+ ^# Q% \ Y) n int top;5 F( H7 c/ z# h1 m, r4 p7 E }SqStack;

SqStack S;

typedef struct poly 3 [- T. {. @: z. a5 F6 G" {1 Z1 a5 K{ * k7 T3 |) ?4 w4 ~# I int coef; /*xishu*/1 z+ u8 Z2 I. }% V4 [# x# z1 N) t int exp; /*zhishu*/ 6 V+ ~( U7 j' k. l, V3 M struct poly *next; 5 z7 g, ~# b: b}Lpoly;

Lpoly *pa;

int cf(int i) /*10^i*/3 s( H- _. z. e7 |/ c8 y6 m {$ X2 b% r8 k3 D6 ?' y4 [ int c = 1, j;( {, M/ m. e: o- N( X* w- k for(j = 1; j <= i; j ++) $ e( `" T: k8 _ c = c * 10; ! I3 e" z$ ^, b$ v; j return c;% A& n, H6 I: U) X- ]) ^2 A }

void input(char a[],int j)4 o4 ?* h0 q& f4 [ { + [! Q `7 v; Q9 b5 [6 I Lpoly *p, *h, *ptr; ) i- a$ N. Z* @: S1 b2 b ]4 X int i, k, flag = 0, x = 0;* z/ K! B3 o# T. k; g9 l S.top = -1;" a+ h/ [* d* D+ n+ }# x# L pa = (Lpoly*)malloc(sizeof(Lpoly));; ~$ `# ?+ Y7 i7 ]5 e pa->coef = 0; % \- z2 A% y2 ]( X, D8 m+ ~ pa->exp = 0; 2 l# O' I2 ^: I0 K( J3 h$ I h = pa; . L7 d* p: j' q% W6 A. X5 p q, | h->next = NULL;0 K0 R7 R3 E0 Z3 u7 m# E7 k+ I7 R p = h; /*jianlipa*/# Q/ u9 v& h4 ?+ c/ D( I. t ; F- E7 F/ f) a# y for (i = 0; i <= j - 1; i ++) ) }) m6 _+ c& r, |; W { % Z$ P- L% g6 Y4 r, m; s0 T% n ptr = (Lpoly*)malloc(sizeof(Lpoly)); - H0 h( ^) e6 { [ if(S.top) " o5 ?" z; [' e& m: o" {9 o {+ d( T3 H/ G3 S2 s9 x! Y$ B" w/ [ S.top ++; + N B2 a: m3 m3 g" ^! g S.elem[S.top] = a;% V! N9 S" V( @5 {4 U6 G: P6 h }2 f( m Q/ ?% T+ i7 Z; N if (a == '-')0 [* P( V9 D O/ J# | flag=1; 4 Z) s& _/ r) j4 H9 ~" e; [ $ F7 Z7 p7 G4 A" b& x if(a == 'x') /*fenlixishu*/+ d& R- z* ?# j; q% K { r! D5 @( I' V, q if (S.top==0) ' D! O9 f& k/ W" C: q7 ?4 M { ! u# u' l6 w% F- f; w/ t if (flag == 1)5 C& j4 p. R; ~4 E3 ` {! S* |* [$ D7 s+ F! C5 K ptr->coef = -1; 0 M {$ G" Y, w- y- T1 C6 O# e ptr->next = NULL; & h8 ?5 v4 ~7 R0 ?6 g } 3 Y! k5 l& j p7 B: Y% ^; u1 c else: G" F. V2 N7 H: c% R) S { @+ Z" f/ Z' c2 G7 x- Q) R& A ptr->coef = 1; ( r& J' x* O. @/ f) s ptr->next = NULL; , b6 L2 D8 p6 a% d } ) x- d2 b5 h: I5 u } 7 q2 ^2 N0 }4 [) ?. |# M else' k+ _* d" I: [& O2 ^8 B6 a! S { 0 ^1 K- U* R/ G# S: z2 w for (k=S.top - 1; k >= 0; k --)3 e( C0 V" r( C8 J: d- D6 C x = x + (S.elem[k] - '0') * cf(S.top - 1 - k);3 ~- P" f' \7 J8 l+ h ptr->coef = x; Q$ I3 d4 J4 B ptr->next = NULL; 6 A% q( y" B8 J7 l& |! s x = 0; $ k& U3 x y3 S }8 \! }% N4 F' }# H0 i9 R. d( T S.top = -1;* b7 E$ W; Q6 j flag = 0; /*clear*/; u2 ~! u- V4 D0 ^) b }' \1 N7 b2 M' ]' n' M2 t# M if (a == '+' || a == '-') /*fenlizhishu*/) p) g( N$ d# ]& O {" o3 f1 ~5 ^! c7 X if(S.top == 0)7 x, @) v" T. h" G1 g0 _% x" c {4 Z* B" \: d% i; V# M ptr->exp = 1; * T% p) i2 b* C) k ptr->next = NULL;+ E, i& N( m; |% h3 x }6 C0 l M3 f4 ] else ( W6 h; |8 I8 W: S/ _5 o7 v {9 ^1 }4 ~* q! U$ L$ G- i for (k = S.top - 1; k >= 0; k --); j3 j5 s" Z- l( H/ d x = x + (S.elem[k] - '0') * cf(S.top - 1 - k); 7 d6 E1 |: J8 o6 }& a ptr->exp = x; ) ~/ o) g2 u4 \' e- A ptr->next = NULL;6 j8 W+ M6 w1 b9 I4 t x = 0;; B N3 g) N# J T( L }/*tiquzhishu*/8 K+ P% v6 F. T0 H0 [ S.top = -1;( }8 o, i5 \7 V- [& u0 ? } ' r; L% x! z* k3 a6 y6 r* x* ^ if (ptr->coef != 0 && ptr->exp != 0) 3 q) ?- O1 z( m h, b" c1 d, ^$ G { 1 }, {3 {7 e% v5 F p->next = ptr;7 q4 o2 ?( z* y: b p = ptr;0 ^" G* J! r; p4 e0 i q! v; _( l }7 E! m5 o, o8 w* X- h2 z J1 V if (i == j - 1); t! B, ~# |9 x# x$ V { 9 d6 O, I' P4 n" B, m A4 `# G" a, S if (ptr->coef == 0)/ q2 T( H+ }3 m3 r* k {6 U U' l4 L" x for (k = S.top; k >= 0; k --) $ ?0 P/ N$ X4 r) u9 ` s0 p x = x + (S.elem[k] - '0') * cf(S.top - k);7 }: j- R/ x" V# w! K* M# T ptr->coef = x;; G# I( l3 M- A" d2 o# F ptr->next = NULL;6 f+ v4 R% H/ N5 f3 p* C } , E3 ^* q& }! b0 s _ else( y0 j% k( M5 R) }' o- [7 G { 1 M3 Q! R! M. z W. C7 a for (k = S.top; k >= 0; k --): T' v$ m/ o0 k. M# W/ E) @ x = x + (S.elem[k] - '0') * cf(S.top - k);3 i% Z" N8 Q2 G! M5 W* k: X ptr->exp = x; # f# t( |5 o+ L3 G ptr->next = NULL; $ n+ b r& q% E" L }& Q! s& L8 `$ Y0 \' f" ? p->next = ptr;; x0 Y' H0 s, a3 a2 ~. Y3 e- T' m ptr->next = NULL; 3 p4 Z* u0 l' p ]( m% Z: s3 x" C } ; x& q5 q, L1 l! r, P- O! n% O( e( j } # v6 m; Z3 Y s. A0 c}

void stinsort(Lpoly *pa) `& @# n0 D+ x5 L# b2 }% _+ @ {% X+ l- k" E+ m( U0 ]' }( I Lpoly *p, *h, *q, *k; % M- D# @: |0 C$ }8 I& z h = pa; H' m! w# f' C/ k3 w p = k = h->next; m6 [( Q0 K: } q = p->next;! n0 Y3 {; F- e% c4 L; h3 n' p% ] while (p->next != NULL) ( d: x0 C: O# o4 m" \* D; G {: a/ t# t# w7 v) z9 X if (q->exp) 7 a6 B: j$ F/ k! }5 Y- ]& `# H* [ { " j$ D* {6 a, ^+ q+ q" H! r while(q->exp > k->exp) 5 _5 |1 p% q8 z/ F { + l9 y% O- f# X4 y8 P% a k = k->next; * l; R7 g& O0 f( B1 ^ h = h->next;3 a1 p8 k. e& T, N% z } ! F5 b" i( N0 P if(q->exp)' D/ A, Q7 N5 U2 `6 @ { ) S% z; s+ `9 G& B. g p->next = q->next;% o8 w0 m/ F, \. N$ {6 ^7 e h->next = q; 9 a2 D F) ?5 \ q->next = k; 7 {1 ?% L3 m7 X( d# Y" C0 I q = p->next; 8 V1 p* F4 p5 J0 x! @% k } / w: n; X* H1 d8 m2 _# r if (q->exp = k->exp) , P2 J7 P) k. L( |' z {9 A0 S1 F& \- r8 \( ]; B; P4 e k->coef = k->coef + q->coef;% b) S3 T3 F4 G; h5 P7 O p->next = q->next; 1 U8 J2 V- C& G$ k: a, E" A+ O q = p->next;/ D" e6 j A0 k5 W4 p } 5 W7 N" O* j( [. K! J h=pa;, ~ K$ J# a- w$ y- Q! h k = h->next; ( x1 U- R' Q9 Y) j; e } 7 y& g- t1 C. j8 C+ t- p3 P 9 `$ |. U2 ]0 \4 G if (q->exp = p->exp) ; p# b3 M _8 H* r1 b {- y6 o/ N Q% n; e* _ p->coef = p->coef + q->coef; $ ?/ u) M+ B$ E1 X- { p->next = q->next;5 o- i* B! R6 l4 D1 a q = p->next;, i5 Q( \" e% e5 B+ U1 s8 q }- z7 U/ {6 I" a0 W0 O if (q->exp > p->exp)! j6 c8 h( |8 X5 k1 O8 K$ e$ x { " ]. h6 s) T F' F' Q9 f q = q->next; ; c9 B5 I+ p, T y5 A; Q7 h p = p->next; ! d' R, X' V1 w% o } & t2 r, E1 @" s$ @, t/ W& h } & Q/ K! A' _" ^! R/ J}

main(). s5 m$ m1 Q- V! B- q { $ c7 @$ g" w* S int i, j = 0;# I. n& h8 d! x* B0 R printf("a="); ! {6 U& N3 G" G) ]2 J) n* G scanf("%s", a); & _9 o/ r3 u' q( I' N4 i j = strlen(a);

input(a, j); " m9 Y% j- N6 d5 g1 a% D a3 ^ stinsort(pa);% s6 N2 e' ]1 i5 W: z printf("a="); ; c- L" a; h; S8 G9 [ i. r for (i = 0; i <= j + 10; i ++)9 Q1 f+ i5 ]4 p" P& h' S" e( N {/ `/ h) c) L4 \7 F; k printf("%dx%d+", pa->coef, pa->exp); ) h9 y6 Z0 \3 ^( u# b/ m% S& } pa = pa->next;- Q2 R' F9 O* H# O4 D2 x, k } : b7 b" B5 m. A/ g) p} ! U3 o# n3 f1 C

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

该用户从未签到

7
 楼主| 发表于 2005-9-17 17:28:00 | 只看该作者
这是上学期的数据结构课程设计' `& v& H1 A* }. U3 u* A
结果我已经弄出来了,得了个优秀,没跟大家说不好意思4 _: ?+ q; v; z$ F8 w- ~
多谢大家给的意见,我现在水平还很差
) k5 o8 M# Y% n" i8 R+ Z3 Y至于注释都是给自己看的,发到网上的时候没改,呵呵~~~~~~
  • 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 下一条

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