下沙论坛

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

QQ登录

QQ登录

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

[求助]请教各位大虾

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-7-6 10:23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我的数据结构课程设计2 M7 O( e8 M) ~( l/ a* V- l" D. z 实现一个多项式合并,字符串输入多项式,链表插入排序 4 o) ?( D7 W) j, F% K5 y可是我运行出来结果不一样啊,大家帮我看下哪里错了,小的在此谢过啦~~~$ X4 G3 p* N j/ w3 ] #include * U. |1 u2 T, {7 ~7 a& K#include + ^1 q# ?$ }8 b @$ u#define MAXSIZE 400" ~$ e7 R" t6 y* O/ f char a[MAXSIZE];$ T. J# Z. U# Q" k6 n( B# T typedef struct{char elem[MAXSIZE]; 9 s- B$ I6 S6 @& Y int top;; i% O# `# ]7 n2 G }SqStack; + n B! B' J- V4 @- ~4 gSqStack S; % u# [3 T" I0 p! R$ H; n4 Otypedef struct poly : m& \; M8 w9 E4 q4 S {int coef; /*xishu*/ # g) k: c4 g& q: M int exp; /*zhishu*/( o2 L( {: a! _' }. G6 } struct poly *next;/ L) ?* ]7 Z) v7 N/ l( g8 |' _: J }Lpoly;3 W6 g; `# ^: ]- s1 D Lpoly *pa;! [5 y$ ]$ |5 P. p int cf(int i) /*10^i*/ 0 ~' i2 n. @. |0 n{ int c=1,j; Z2 o, { P1 k: t) M q for(j=1;j<=i;j++) c=c*10;7 j! ?* C2 M' v I- N, r: R' J return c; ; B. J# `5 c. |+ S v}9 h4 g& J$ l1 Z7 h- L0 l void input(char a[],int j)/ q" I% i: |5 s) N { Lpoly *p,*h,*ptr;# ]& Q# z0 D$ z2 \ int i,k,flag=0,x=0; * Q" J8 |5 q& d S.top=-1;8 c0 b; M ~- ~& r; ? pa=(Lpoly*)malloc(sizeof(Lpoly)); $ O4 z4 `5 r' h, ? pa->coef=0;pa->exp=0; 3 ?0 W$ x2 v# ~# [& j! h0 `5 x h=pa;h->next=NULL; ' ~ U X3 C6 {. P p=h; /*jianlipa*/ 4 p W% h% l$ k* ~' o8 J for(i=0;i<=j-1;i++). f1 W; m. \( T/ q, X {ptr=(Lpoly*)malloc(sizeof(Lpoly)); ! ~/ U+ U1 @: o if(S.top5 q% m, l( Y [- f' O) P& j' K {S.top++; 9 I8 h- q6 ?* s4 G S.elem[S.top]=a;7 N" H {$ R& g- r* x$ i6 F }" ]' J1 b8 A! C. R if(a=='-') flag=1; * i+ l, u) ]: b if(a=='x') /*fenlixishu*/ ! H# T3 A9 W+ _1 q: S/ I a {if(S.top==0). m5 }6 q. U5 a {if(flag==1)- K) L( J6 I$ B {ptr->coef=-1;ptr->next=NULL;}3 _/ Y- x& I7 p1 I else * h7 `) c& i# b1 u/ R0 w {ptr->coef=1;ptr->next=NULL;} , d( {* R' }5 G1 f e0 n$ U+ n } / z7 Q/ ~: z( b$ B3 Z! @4 s9 r else , F. l+ D9 b" t! v! S% y$ W {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);* b8 H. F# |, x" U9 Z% q ptr->coef=x;ptr->next=NULL;x=0;0 v: R$ n& E# z) [, K }9 T# d/ q" o/ V2 ~ S.top=-1;flag=0; /*clear*/3 j$ ^8 X8 [2 J+ x/ F- a } + I6 t2 N" m) Q0 w# g, H" s if(a=='+'||a=='-') /*fenlizhishu*/! L' Q+ N4 S, J" M. ?" Q {if(S.top==0)( D9 w7 Z1 X# C4 Y# Z) t4 L6 c {ptr->exp=1;ptr->next=NULL;}. I; y; q+ p1 J Z" `+ U: H: N else+ C& d+ b* x" \# n {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);0 O7 H4 N$ ]9 ?7 ? ptr->exp=x;ptr->next=NULL;x=0;5 `1 S: S8 g6 J7 Y( N% F. R } /*tiquzhishu*/ . t5 I; V5 V; {; \ S.top=-1; 2 T: \ U0 {. q& b, T4 s } 8 T/ I8 Z0 n! T' E if(ptr->coef!=0&&ptr->exp!=0) % v# i3 O8 q0 R* h3 E& j {p->next=ptr; 6 x6 E' q8 v$ u p=ptr;/ w3 n2 t/ C: W* I8 n }5 b% M! { J- \/ \. p if(i==j-1) 2 \9 P* `# O8 p% B k- X; S7 K {if(ptr->coef==0) $ {3 b( @5 @, O+ m1 k% D0 B% G {for(k=S.top;k>=0;k--) , T* w: f% V& b5 r# i x=x+(S.elem[k]-'0')*cf(S.top-k);' ^4 t( x; W5 a* y ptr->coef=x;ptr->next=NULL;9 R$ S, y `* G } " S5 X b1 X/ G3 ^ N2 N) c1 G. h else 8 m' M4 U2 M$ m, H( O8 y) i {for(k=S.top;k>=0;k--) ; V4 ]3 U. k) s$ P" w x=x+(S.elem[k]-'0')*cf(S.top-k); : d- o2 F& O' m4 L' R ptr->exp=x;ptr->next=NULL; ! \" i" u$ y4 L: s- m. m/ N+ `, h } 1 r @5 D; _+ V0 n! U4 c0 ?9 ` p->next=ptr;ptr->next=NULL; & j& `% L0 t0 g2 y* ^3 r" E } 7 J' p6 ^ H" E0 a- L+ W+ m3 f } - W) m* B5 Q# X% q} ' ~7 n2 _% e7 o) _void stinsort(Lpoly *pa) 2 e5 z- N- A3 ?" D& c1 C" {{ Lpoly *p,*h,*q,*k;8 R2 r7 j3 e! s/ u% w h=pa;p=K=h->next;q=p->next;9 F. Y* p [" K/ W; a while(p->next!=NULL)' O& b3 o5 \3 @8 i" f {if(q->expexp)% ~# m& G: f* y+ x {while(q->exp>k->exp)2 m- e t8 W6 v$ ? {k=k->next; , Z' R7 T1 g% O h=h->next;" L# P" @0 g0 A0 S) B( F' u }$ I/ G/ s) l2 y* r if(q->expexp) / r% ~, Q5 l4 w: [ {p->next=q->next; $ G% ]! C1 V; E" y9 J& b+ v h->next=q;/ d4 p9 z3 b: G# P% w q->next=k;1 S0 i1 M; R7 s3 C7 E q=p->next;' m. X. z2 d" ~0 U, l }4 o! i# _- c" i; t8 a- B h if(q->exp=k->exp)+ ^ c' ^4 j4 q( J {k->coef=k->coef+q->coef; & C" p7 H7 T5 L6 A9 D8 G p->next=q->next; : j6 ^" w& ?& n2 c) F$ p D q=p->next; # O! H4 A; G+ V& _( x" y; j; ]# F }5 t3 @; N6 w) ^ h=pa;k=h->next; j- y) ]: X7 p5 f) L( p! E } 2 H4 T- Q7 X. h8 b% } if(q->exp=p->exp) ' i$ b& K+ L, t& z3 b" g {0 d {p->coef=p->coef+q->coef;& o3 X \7 Q _* T& h4 n0 u p->next=q->next; 9 y: V- R# X- r% m. q8 a( O+ o q=p->next;2 K2 ^1 Q) o/ k5 L } - w8 @; m. H; @ if(q->exp>p->exp) 5 I3 |5 _" I1 ^4 z {q=q->next; 6 u6 c' U) Q7 t p=p->next;3 K7 Q' e4 b e0 ?- p( X- H5 E }- r. F( k( J" i }& b9 c$ n5 |. m/ X( a }7 }: X0 v4 Q& }; }2 ^7 n7 ^8 v+ w& e main() ( h3 \- }" M, b* q, I0 Z{ int i,j=0;6 g; Z2 e+ y" X: L# u' k) I printf("a="); $ `$ V9 J% ~7 R( h4 Z+ z: p" S- H scanf("%s",a);$ C# G, G0 @2 u2 F for(i=0;i<=400;i++)6 w6 p: P$ D5 P" e X {if(a!='\0') j++;}; l r! z) A( v+ R" i- O input(a,j); ! K% Q( [" i# Z: v- r! h stinsort(pa); 9 a; Y1 o) |3 V1 q* ^! a7 S printf("a=");' o# D+ Z: V' U- w N' ^ for(i=0;i<=j+10;i++) - ?. {7 }9 V3 o6 Y" F. d! x {printf("%dx%d+",pa->coef,pa->exp);* z& g1 i6 |: ?5 @8 u: C' O pa=pa->next; " @% x6 ?* i4 o } 4 p5 s4 R0 C) a, q}
分享到:  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" ' o5 D# I% p8 B, R2 I( c& h3 Z4 I" b#include "string.h" ) z2 S7 O1 `7 B( K0 i5 u! C( Y#include "stdio.h"

#define MAXSIZE 400 t; ?" |5 U8 D' L, L- m t char a[MAXSIZE];

typedef struct3 U$ o; V/ p' I) V {- C- ]; z, X$ W: L2 `- c! | char elem[MAXSIZE]; : M1 G' I: {9 }0 u2 e int top;) l% K0 H O+ t; U# O }SqStack;

SqStack S;

typedef struct poly: F" }! ?' b& y) p) a; \2 B/ I {( v$ g/ L: U# N' m/ O1 b int coef; /*xishu*/0 k# H; t) ^$ [ int exp; /*zhishu*/ . i* y E T( W/ `2 ~ struct poly *next;9 A% [- W8 ^# @! ^ }Lpoly;

Lpoly *pa;

int cf(int i) /*10^i*/+ j# H6 z. q$ N; f {, y1 g3 l" \8 o1 d6 I( j int c = 1, j;7 t& C. c8 ~, ?% ` for(j = 1; j <= i; j ++) ( t0 t6 N( T- |& \* u' \6 m c = c * 10;6 F. u0 a5 [- \) B+ r" m9 Y | return c; : e, t/ P( t. M- r% }}

void input(char a[],int j)" a8 {$ N, P6 @ {! m% F% d1 K1 w2 n0 o: j Lpoly *p, *h, *ptr; 3 @5 S' q& G0 J V; F int i, k, flag = 0, x = 0; ' a3 |- H& f% E S.top = -1; 3 w9 ]! U [" X% V, ?" [3 c pa = (Lpoly*)malloc(sizeof(Lpoly)); 5 q& C0 N0 W' D* Q' l; p' ^ t pa->coef = 0; 4 t6 @, O$ P- U. r) j5 B( | pa->exp = 0;& K$ ?/ m. C, E# F/ i( K h = pa; # x e+ `! X0 o+ L h->next = NULL;9 M3 Q) \$ J( n& S ] p = h; /*jianlipa*/ ; @9 p- e9 I- _3 L* v ( n) }/ \5 v6 J2 ~3 ]- m! g for (i = 0; i <= j - 1; i ++)3 S! C, s: j @2 e) Y, C! | {; o; W: v; `+ c+ R; Q M$ z ptr = (Lpoly*)malloc(sizeof(Lpoly)); ) Q( q* m0 d4 S3 L% W9 O if(S.top) ! z6 i4 _9 f, o+ L( T {5 { E; [2 g% I% G S.top ++;5 I+ w8 d( ?# W; q7 V0 M3 [$ n S.elem[S.top] = a; 6 e; `* @6 s1 t/ n/ Q5 B- a }# m9 j6 F/ e8 d1 h if (a == '-')- n }6 {/ W8 W flag=1; 6 o: H! ^4 L1 U B4 i 7 w4 x! u! R. C j. @ if(a == 'x') /*fenlixishu*/2 i0 Q. k- }- s { : d1 V7 N4 q1 s, ` if (S.top==0)9 X O1 N! V9 a { " A' @- `5 L6 y8 t! L2 R' s6 U if (flag == 1); I8 D7 v2 Q$ X& ^9 P l' b& g {0 `. Y+ j' n' h5 R5 g ptr->coef = -1; 9 w/ S! G4 G5 _+ Q ptr->next = NULL; : L# |, t$ `: c! g, I O3 f' @0 |; d }* r5 w; w5 U+ ~, s else ! R& J# D$ \* n7 z/ x { / J$ h( {0 g6 }2 f ptr->coef = 1; " a0 h& W2 C; t: ] ptr->next = NULL; 8 i% ]! }) p3 n5 i. V } $ ?. C) S: p6 V }1 S# ^7 j1 ~) b' o else/ r7 f. y4 P) j- X {6 L& _$ y' @% X3 ?6 K( C8 q for (k=S.top - 1; k >= 0; k --) " @$ i" _( s/ @* h% k7 X! A x = x + (S.elem[k] - '0') * cf(S.top - 1 - k);1 P# t! F9 `( C4 k/ x6 c/ S ptr->coef = x; ! W( c7 ?7 \7 j7 q ptr->next = NULL; 8 B( I: ]& F* |- g6 m/ o0 r) \' E! I x = 0;: Z; o$ A" O* ~) g }8 R5 s1 d2 n5 D/ x. N S.top = -1;3 c2 n% r( `. c5 ?( P flag = 0; /*clear*/& Z0 k3 n6 |# T6 C/ j' X }/ m- D: d6 k6 y4 G) i$ V1 f if (a == '+' || a == '-') /*fenlizhishu*/1 v% v- Q# k0 u {. ^) _) R* B" I( \; E5 E9 S if(S.top == 0)/ O. f$ a# G# V {; a# _& _* N5 k4 D ptr->exp = 1; / @2 W! ~! p& t ptr->next = NULL; & X2 |" e- M1 z ?/ ?2 i }. `) ` ~$ x6 n else6 o8 \$ Z. o$ I# l. p9 T, d* [ {* |) t5 ^, o8 g, A' j3 A for (k = S.top - 1; k >= 0; k --)" C- M C; ^- M5 G x = x + (S.elem[k] - '0') * cf(S.top - 1 - k); , Z8 A; y/ u, _# k7 k7 [ ptr->exp = x; % A: e1 E( L. {4 M) l K& d- ] ptr->next = NULL; % x* }+ F) L/ Z* |( i x = 0;! ?5 a# ^& g l/ { }/*tiquzhishu*/ " W3 j# g C. t$ m! J9 f S.top = -1; % a4 c& S+ i9 T9 y+ P' h* A0 [8 ] l2 i% y }/ [. X }/ B; V0 k! V' o! d if (ptr->coef != 0 && ptr->exp != 0)/ v9 x( v) ~; f( x0 d6 } {9 ~3 M# ?1 c' m7 u8 C; w s p->next = ptr;0 r2 R$ S! B B r2 T* ] p = ptr;5 y+ |6 X! k# f6 L7 e0 n } " n; y0 G. J: O5 ? if (i == j - 1); h; q$ R L, i0 B( U. l: R: g {9 Y E# h/ T4 M1 c# w if (ptr->coef == 0) & U U& e$ a% q% d { : L; _0 N1 O$ v, \" `) D for (k = S.top; k >= 0; k --)6 }0 J* H. Y- K x = x + (S.elem[k] - '0') * cf(S.top - k);& S3 i4 Q5 U8 ~. ^3 n2 b ptr->coef = x;6 U/ |) p5 L9 j* H ptr->next = NULL;* I" W/ Z( W" f- f } * ~0 k# E9 j& m6 d else 1 M" z; a) y- }7 F1 M { : F/ C; T; L ~- E for (k = S.top; k >= 0; k --)6 E5 D/ A- @9 C6 G/ L9 @ x = x + (S.elem[k] - '0') * cf(S.top - k); # r' X; D5 F5 z. K ptr->exp = x; ) E# A0 M3 O# ]' }2 I$ q0 R ptr->next = NULL;& R8 l9 |+ k$ @0 B& q8 n }) v9 A, u! u5 `3 _0 w, o, s p->next = ptr;* R" q; e5 G- Y* d ptr->next = NULL;" }9 i5 q& @/ ? } # B, Y1 U" j, ^* l! Z1 j! B8 A: h) D }# {; F( J% I( b0 q8 H }

void stinsort(Lpoly *pa)3 C2 k4 ?) h: ?% Y0 `4 J5 \$ u {3 M6 H" v, I/ o9 V- c: l6 j Lpoly *p, *h, *q, *k; ! F+ ~3 ]( z/ f/ ]; l2 Q h = pa; 7 z" S+ S+ Q, |+ Q9 R p = k = h->next; . V* _/ J- G. d0 H4 o q = p->next;0 X0 X f% e1 T while (p->next != NULL) # E7 ]7 ~- X/ u2 j { - w- n5 A6 `5 S if (q->exp)2 Q* r* a R/ Q: Z) X5 d) G! D { 0 h5 x: ~7 E. |% W$ R while(q->exp > k->exp) . s5 N. w. v) q+ d' y5 N l { : o* d2 B+ m/ S2 H2 Y k = k->next;( X. L0 T- a& \3 F0 V% g- v h = h->next;& `7 u4 ^- s: f2 i2 V7 j } + L: _& P |8 R2 Z; h* l2 x if(q->exp)) {$ ~0 o" H+ H% x {- Z+ h: Z6 B: I/ L6 z p->next = q->next; . e# b! U8 }$ C# n$ Y- X) H% v h->next = q; ( g. \- M1 l2 X; Q q->next = k; * {( \$ A4 U, {: R q = p->next; 1 V: p' r% d7 T } : O1 }' F* T5 B3 w& b: k3 C if (q->exp = k->exp) 6 b1 G9 S5 ^8 m1 A/ V3 v { r. w0 M( I, F k->coef = k->coef + q->coef; `5 F; s/ K& z9 t2 g! W4 ? p->next = q->next;2 r# {# V$ r' ] q = p->next; 2 e. U( M+ D0 X5 @6 G' ^: Y9 k }( H9 c' z3 t) O$ z& x h=pa;! H% z0 p* x- V k = h->next;3 D D$ w/ e0 e/ ~3 k }8 n; i" w0 V; H; x* f6 y3 j0 { % `3 g2 ]7 d; o7 L$ j" N# l# W if (q->exp = p->exp) l& b- s: t# \" B" n { 5 k( x2 e9 B) ~4 F8 J7 ^ p->coef = p->coef + q->coef;, C' z) i$ u2 M p->next = q->next; P$ A" I# y8 j5 B q = p->next; . ` z# n7 \9 p2 u- j7 J* j } , ^! r' q! P7 d0 X0 U if (q->exp > p->exp) , j1 P- W6 J1 t9 U9 I { " f* v4 y7 i% E$ ?' A q = q->next;0 i J* `( a7 c5 V! d- V p = p->next; * Q! ]! p1 I- J. K5 E6 K& t } # V2 w* n( F/ L) Y" n) ?9 z }- N K/ B4 x2 c. a- {: ] }

main() , w0 G2 Y$ y6 `) B{8 ~( d+ C+ r, [9 G5 X5 \3 _ int i, j = 0; 4 g4 l% B: k& N5 |+ C6 | printf("a=");! Z1 r7 T5 m$ ^; k- g# B8 ], v scanf("%s", a);; ?5 E2 O6 _: d/ u6 X j = strlen(a);

input(a, j);6 c0 Q* [' ~& u: j* x V8 f5 _& { stinsort(pa); 3 p' e6 T# D2 k/ D" r; v4 B- ^7 ? printf("a="); ' `- E. j% e3 k4 u3 @2 d for (i = 0; i <= j + 10; i ++)( U. u" V+ ?9 i+ b {" Y$ f5 ^( w5 f$ l5 @$ D printf("%dx%d+", pa->coef, pa->exp); ! Z$ ?* s* i6 ^1 c pa = pa->next; ; ~5 @9 m2 D9 u+ z+ ~% c }' C9 K: U- k5 M' I% d }" T) N- b% l5 g6 _3 x! T! V& L

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

该用户从未签到

7
 楼主| 发表于 2005-9-17 17:28:00 | 只看该作者
这是上学期的数据结构课程设计0 ?) M% n: O! y  [9 L% H
结果我已经弄出来了,得了个优秀,没跟大家说不好意思
$ x2 [( |7 m4 C2 m: t$ Z多谢大家给的意见,我现在水平还很差: r& Y* D" o4 q7 ~
至于注释都是给自己看的,发到网上的时候没改,呵呵~~~~~~
  • 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 下一条

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