下沙论坛

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

QQ登录

QQ登录

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

[求助]请教各位大虾

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-7-6 10:23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我的数据结构课程设计 $ H6 Z1 g5 x! L# f实现一个多项式合并,字符串输入多项式,链表插入排序& N+ l7 }# R; }, O& ? 可是我运行出来结果不一样啊,大家帮我看下哪里错了,小的在此谢过啦~~~- q% ]: B+ ]; J) ? #include2 g, J& z" x0 C6 w; X #include 7 `5 T l! w9 n; h#define MAXSIZE 400 + M3 n) q- P' ]) _3 o* D5 Q! echar a[MAXSIZE];: l; }, b/ _4 w& T; O typedef struct{char elem[MAXSIZE]; e# N/ U" F; B9 `% I int top; - o9 r! W9 O8 }2 y; B# \6 [ }SqStack; . L+ g0 P# i5 c6 {SqStack S; K- M) Z+ r2 h( Atypedef struct poly8 n( R, f* h- ]5 m {int coef; /*xishu*// S* G+ g$ b- T# q7 T7 M4 j4 R int exp; /*zhishu*/ - ], A" L* a: k; \2 H struct poly *next;/ N, T/ s( X$ _9 w: t }Lpoly;# D: [. O* m8 T3 U Lpoly *pa; 0 t$ G: g: O& M! `) qint cf(int i) /*10^i*/ ) c- B- d7 U0 v: [{ int c=1,j; " \; w2 q2 j. D0 o for(j=1;j<=i;j++) c=c*10;) O" C/ s" h$ y. G5 r/ Y! Z% n% [ return c; c9 T* w. A/ W7 g. V" b# H }4 o8 T$ w7 t8 Y+ D* o. L8 \3 q void input(char a[],int j) - q; T& |) K, k8 N% w' ?& M0 c; Q{ Lpoly *p,*h,*ptr;: Q1 c( U* `- ~ int i,k,flag=0,x=0;8 x7 F; X2 q1 ~0 F; X% S" K S.top=-1; - Q" s" T' U' f, O1 X6 C pa=(Lpoly*)malloc(sizeof(Lpoly));7 K: }" h) d+ |% A/ C, B, H7 t pa->coef=0;pa->exp=0; 4 v; x* w' A9 s4 L U7 e+ ` h=pa;h->next=NULL; ! s! z- _5 A/ B3 b4 @3 z" x0 D; T p=h; /*jianlipa*/ 9 Z4 | e/ B9 J) X, h0 g* h5 b for(i=0;i<=j-1;i++) 3 H5 N0 q& I; k7 V {ptr=(Lpoly*)malloc(sizeof(Lpoly));* a' z5 q5 U8 R/ b# } if(S.top% Y" c4 U, ^! P, w+ ]( y- F {S.top++; 5 T5 c% D' g2 \2 A# o0 L S.elem[S.top]=a;; G$ V; a! [9 p: H( C. s }" D" s; x- t4 A0 J% }9 D0 }" P if(a=='-') flag=1; - @' u1 u, N- R8 V! H" a if(a=='x') /*fenlixishu*/+ `6 r+ S4 T1 T {if(S.top==0), e0 @8 H# `, `& l4 Z {if(flag==1) / [. v. r2 e. B9 E! A {ptr->coef=-1;ptr->next=NULL;} " j5 H2 r, u. ?" T( m, D else * [( V$ s) u' V: L {ptr->coef=1;ptr->next=NULL;} , ^' y! a# ]6 _" s8 i; a# T }7 e+ R# E$ j' U+ G8 J* ~ W. S9 R else$ v# `8 {/ Q: M* G9 `( b! U {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);3 {6 U U1 h, N% L/ V ptr->coef=x;ptr->next=NULL;x=0;. A9 y$ u; R7 V } 8 U% ]. A. I/ F5 l9 ?0 D S.top=-1;flag=0; /*clear*/ ' c9 V7 X* O4 s$ X' H& W4 w } + J: D( K4 ]4 C7 t if(a=='+'||a=='-') /*fenlizhishu*/6 m- b) Q6 k1 H: b- K {if(S.top==0)1 L1 c# c# _+ Y" U7 B {ptr->exp=1;ptr->next=NULL;}: }) b6 K. e9 v# p4 N, a else5 t: f4 c/ r2 Z, `4 ~% J; u& i {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k); 6 S+ N/ Q R! a, w/ K& E' w ptr->exp=x;ptr->next=NULL;x=0;! A6 b) x) o$ c' d) T. a/ F! e& o } /*tiquzhishu*/7 d( ^+ }$ C% j8 s3 ` S.top=-1; , @0 S5 h7 p' f" r$ g; P* X6 v& Z( P } 6 ]$ n5 m4 J. E Q8 D% `: T4 J0 U if(ptr->coef!=0&&ptr->exp!=0) 2 Y+ G& N8 R- T# G3 \+ k3 B% ~! w# s {p->next=ptr; " V' Y; Q% J0 v5 \8 B/ p$ h p=ptr; 7 j( R1 j( o7 ? } " Z; ~, g, G l1 ^ a6 ^$ j if(i==j-1)0 L8 e4 U' F. G1 A {if(ptr->coef==0) X3 q- I6 W+ R5 y! ` {for(k=S.top;k>=0;k--). s9 j+ r6 y" _3 N6 g( ` x=x+(S.elem[k]-'0')*cf(S.top-k); 0 O1 L. I# G+ ^% F ptr->coef=x;ptr->next=NULL; " A; w) _1 |) W U/ j7 ] }+ N9 v( }3 ~0 C# h else 4 v" i( g3 c. u% M0 x {for(k=S.top;k>=0;k--) ; C& }/ _& `5 c$ j/ \" R/ y x=x+(S.elem[k]-'0')*cf(S.top-k); 6 X F" Q% H" ?2 k ptr->exp=x;ptr->next=NULL; & |! Z- h" V R } ( l) T6 f2 \8 d p->next=ptr;ptr->next=NULL; + y9 W' u3 @% c- R }/ [1 M6 X( Q8 R. [1 N4 t2 y( g }3 S- O9 b) U% k6 u' Y4 z8 q, B } * ^# [% r8 Q8 {6 y7 I3 tvoid stinsort(Lpoly *pa)0 S" L8 m$ a7 `" h { Lpoly *p,*h,*q,*k;! t0 ~/ y3 K- p/ O* [' r h=pa;p=K=h->next;q=p->next;' Q+ N" [6 }- i5 V) [ while(p->next!=NULL)! z7 N2 T. H- K, } {if(q->expexp) ! t% @ y) X _ {while(q->exp>k->exp)+ ?7 p- ?0 Z% D. E! }4 b {k=k->next;7 w9 }! O! U( s: T$ `$ J+ @ h=h->next;4 F- c. n/ W/ B! Y- n }0 l7 f; m- B$ t' @$ P9 w if(q->expexp) 6 c4 Q/ g6 d% c: d {p->next=q->next; ) R4 A0 R- d& H7 B& T6 | h->next=q; % S% M# q+ ^: V q->next=k; 9 n2 f) h9 g5 L/ M q=p->next;/ \; u, c5 r9 H9 R. G* v5 ~ } 1 a# W/ }( h) u) A4 T W if(q->exp=k->exp) + d- g9 c1 R8 d: d8 G( E {k->coef=k->coef+q->coef;& D' {( a8 X& |" s- D* Q9 K p->next=q->next;; W% `; G& ?7 g9 Z7 Y& |2 p q=p->next; " w% t* p/ r2 p$ m } % d6 Y0 ~) P( J! F/ c h=pa;k=h->next;$ P* X3 _1 M" e4 t# f; \ }5 i1 V3 E- ]' } if(q->exp=p->exp)& `- K# |4 e, e3 [# s. o a {p->coef=p->coef+q->coef; ' ?8 ~# [8 j4 j7 F8 o% i7 F p->next=q->next; 7 h( [* l- T8 V* b q=p->next;3 A6 Y" N' g) ^8 Z" K4 b1 G' t }1 ^" n5 P/ m. H if(q->exp>p->exp)* Z' @5 v; x5 Y; b+ G8 q/ |& w {q=q->next;4 V7 u0 I M7 D9 r p=p->next; ' l% X6 w( o; P9 E! g' k2 c }$ u# |2 m9 _' \) } } ( N6 s8 W4 T4 O}- _; ]+ _7 P6 A- y main()! ]% V; V. L7 s6 m" e { int i,j=0; f: J8 @1 l* `2 s0 O3 l; l+ X printf("a="); 0 o3 @# A5 F, U8 n# f, i) } scanf("%s",a);! {% T% s# [6 c" r4 g8 n$ }8 B: [- B for(i=0;i<=400;i++)! v* O6 X6 K' H& F$ ?6 z {if(a!='\0') j++;}# N3 W9 R! t1 \0 r input(a,j);3 t% Q. S& H+ g# E0 q stinsort(pa); p0 |" Q$ Q ]9 d0 ]+ _2 K1 J printf("a=");' T2 t# i4 @9 c0 B# q" T for(i=0;i<=j+10;i++)% t: P3 v$ j3 U {printf("%dx%d+",pa->coef,pa->exp);# D) ]% X, `7 ?0 R pa=pa->next;2 u. L e4 x' ~7 y1 ^/ P0 _8 b }( | m G; G1 c9 M }
分享到:  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"6 {- l5 e4 ?% r a: W8 o. n- R #include "string.h"* |/ z+ g% o* M3 w6 W5 R/ m #include "stdio.h"

#define MAXSIZE 400 6 s" I8 |* u$ F ?1 Zchar a[MAXSIZE];

typedef struct ; ^* |9 A' J" d; H{ ) x$ [: m1 |% g0 ~/ s* Q char elem[MAXSIZE];$ |9 Z+ t$ ~% n" I7 x int top;. c0 K8 ~& U: Q; O& E0 {& p }SqStack;

SqStack S;

typedef struct poly 6 f: M, x3 p2 g{ ; o% d9 g* m- m6 R int coef; /*xishu*// |# e9 f- y$ I5 ?0 m+ V' g( j int exp; /*zhishu*/ / }5 a2 y0 n% s; R$ P struct poly *next; 0 f) {2 s. J% Y3 `9 q& y}Lpoly;

Lpoly *pa;

int cf(int i) /*10^i*/ , Q0 R6 A! f' g% H. E{( x) W& I# a b4 _, F3 ^$ j. c int c = 1, j;' A. q3 N% K- S6 @! D1 M8 o for(j = 1; j <= i; j ++)$ r; Z/ Y$ ?5 T# w c = c * 10;0 f) {0 Z0 T5 ? return c; ; p/ Z! g$ r2 l. z; ?4 [% g}

void input(char a[],int j) ' M$ I d+ R. z! C8 a) j* w( ]{ ( W4 r# S( {6 t$ T% U* Z, L Lpoly *p, *h, *ptr;9 M" r, e8 X+ c' s, y) P int i, k, flag = 0, x = 0; 7 {$ `2 p# X' Y4 @- [7 ^. n S.top = -1; , J/ X9 v- @- O pa = (Lpoly*)malloc(sizeof(Lpoly)); 4 G" A9 w$ t9 w/ a | pa->coef = 0; 5 `- q1 v: D O' O {3 b# d9 S pa->exp = 0;0 G; e z! a2 O- I, X h = pa; 5 [$ f7 H$ `: b, }! d h->next = NULL;1 I" E: k4 r4 F* A3 [% w p = h; /*jianlipa*/ ) i6 n8 g) W3 N, j }# G8 v & R) a' n3 X# n+ c" H for (i = 0; i <= j - 1; i ++) % m! k4 f9 g0 Q) _ z; U { 9 j0 t& S) Z& { G+ r3 x ptr = (Lpoly*)malloc(sizeof(Lpoly));! H) D5 Y% a, D' }2 _* f6 S& {0 S if(S.top)8 R9 t* _# \$ _' ?0 P { 3 J7 t9 R6 A9 h# Y/ b0 B2 B S.top ++; 4 Y' u" m/ q) y3 I S.elem[S.top] = a; . d8 ^# O% O7 }8 |$ q( D* R) b } 1 S: f5 S) q' Z# r+ W( s if (a == '-')9 Z. @9 v" L$ l+ G flag=1; ! J3 P" y) T2 b$ [0 Z) ]# A4 r ) I( ^8 q' K! b9 k7 E( { if(a == 'x') /*fenlixishu*/ 7 G, Y3 V h, O; z1 }0 C: X {3 h" }; @+ l% r if (S.top==0)* ^% Y& B+ n, p8 I- ? { 7 H- i% o' _! g& \0 N- L if (flag == 1)0 U+ L" K; a* F" X' P ? {& Y. A* D! b7 i ptr->coef = -1; ' b% w* z- k3 E" F ptr->next = NULL; ; @$ E; p' {0 z" W } . U# }) r0 u1 {4 c4 j else; D8 ~! |! [/ t+ p { 8 ^ @3 ]8 f9 m: l& K ptr->coef = 1;- a R5 K/ u/ S7 h( |' l ptr->next = NULL; 2 c# X3 A- {3 q, g- e& c8 D: D1 ` }# ~: { ]' j; D3 S* C; ]; g } ! P3 k6 N7 W( B% _- w3 F( C+ u3 X# b3 U. @ else* q& l8 D) y4 S% D/ H2 w$ ? {: D) ~! |( k2 l! d: S for (k=S.top - 1; k >= 0; k --). n+ o# R: N( V# P6 @$ ]! I3 E x = x + (S.elem[k] - '0') * cf(S.top - 1 - k); ! x3 L& {. w2 @" ?+ N! ] ptr->coef = x; " x0 y: p: Y1 g7 B( } ptr->next = NULL;$ O- Y( d) R# u# J. `. |% h x = 0; 3 d; A4 w9 B( g1 `+ g$ g } " h4 M. Q6 k# P# @& t. ^' [6 w8 x B S.top = -1;) g8 Q0 q/ p4 V8 p3 Q1 Q, Y" J flag = 0; /*clear*/ - B9 N: G) P2 b4 T# ? }! x" s& d# v5 ^' J0 Z if (a == '+' || a == '-') /*fenlizhishu*/0 l: N' c2 g+ s0 h O; h { % l: o7 [! v# F* L if(S.top == 0) ' r" O, ~" p0 t { ( Q* o% ]1 w, ]- ]% } ptr->exp = 1; . }. c( W* b$ ? ptr->next = NULL;: H. L! g; Z/ n3 j; \4 b3 \! D }: J; Z8 j1 ^9 E5 S else8 V7 c7 p2 T* z5 k9 A! i* S {3 e8 H7 ]( L- h& b for (k = S.top - 1; k >= 0; k --)' Q A% h N. T5 I6 | x = x + (S.elem[k] - '0') * cf(S.top - 1 - k);: w' q# ~* g3 F7 G$ |$ m U ptr->exp = x;& k6 m/ R: U# K- S% O6 X ptr->next = NULL;' G0 Q$ K" c4 s* @2 d7 M8 b5 k5 b x = 0;' y: p: ?$ M1 L4 P }/*tiquzhishu*/ ! G8 z, c& z1 w/ }; m S.top = -1; 0 F( T- x$ Q. N: t3 | }5 q. r. v5 V; q1 q) K5 N if (ptr->coef != 0 && ptr->exp != 0) h+ m. d4 @; Y: t {8 {/ {' X& _; } p->next = ptr;5 J0 v: v3 l3 X5 I5 N p = ptr;9 H2 C5 c) g8 P3 u- S# C9 q }% W. W$ ?) n& i" ^" x if (i == j - 1) 2 j5 w# \% g, f9 T- _' Q { : W1 d$ W; B4 e v" e% N \ if (ptr->coef == 0) v/ P$ B/ Y& s6 ]1 { { % t7 [+ F, P% |5 x1 M" ^! Z7 ^1 w2 f for (k = S.top; k >= 0; k --) ; \2 v: G7 E5 q; L( F& | x = x + (S.elem[k] - '0') * cf(S.top - k);1 T' m: `9 z5 h. `$ p$ y ptr->coef = x;+ m& q: s6 b0 r7 Q ptr->next = NULL;/ g, B- L4 l4 M( o4 t6 {9 y" n }& S( Y) \7 }2 @) y( X1 P' Q9 d) ` else % Y0 B E P# {# c {9 C& I5 b8 ~: O- E for (k = S.top; k >= 0; k --)" J: `) l, E6 F" x x = x + (S.elem[k] - '0') * cf(S.top - k); 2 b$ @: K/ i/ \! M" |+ z ptr->exp = x;" K* F1 X2 x% T! o3 q, d; w ptr->next = NULL;& z. M4 g+ L2 x1 I7 z }, m( I) }4 a K P- n. v4 M# D p->next = ptr; 4 F9 Z3 n3 F9 Q" K ptr->next = NULL; 3 m. d+ X4 Z" c6 ]1 D! j7 c }3 s' T+ t `$ r" I# m8 h }/ @/ l8 x! J8 [7 G) E }

void stinsort(Lpoly *pa) - a+ ^2 p. k6 D4 s! V{/ N! c4 I4 w$ O" @! y Lpoly *p, *h, *q, *k; ! x4 N b8 s/ X. Y h = pa;. w9 U! S5 n% N S p = k = h->next; $ z7 S" D4 y! [6 D3 t* ? q = p->next; |8 s4 f+ y+ m% z while (p->next != NULL) Q- r( v* F4 N8 T* Y! D { ) }4 W2 B; o: ~+ m0 K9 M% Q* L4 f if (q->exp) / r5 o: s* ^, s) A {9 U d( |9 T9 M8 ~( d1 d. C' U while(q->exp > k->exp) 6 a$ M8 I- u* L7 h {+ R5 W4 Z1 J X! g. {' i- ~& G k = k->next; ' x# |% m' }/ K3 R/ Z h = h->next;* v! A8 e' j6 Q2 M1 U4 s }3 [9 i# R/ x. B: Y, d7 ?7 q if(q->exp) 6 {: M3 t Y4 M4 | { # A. u! I5 y6 f2 q7 m p->next = q->next;0 |8 g+ Y4 c) }, t G2 e h->next = q;( g( {/ i1 x. Z# ?; T) s2 v1 F( z q->next = k;- A; l0 {; l( G, o0 ^2 I" s q = p->next; 2 z% v5 ~, ~+ o: Z8 U$ a% ~4 A% \ } 5 z8 D+ f8 G" z8 p3 d if (q->exp = k->exp) " I0 F/ h3 h) {8 V( V A" g4 c5 m { ) l Q3 Y. w# N6 T: C k->coef = k->coef + q->coef; ( j8 Q: y- V- y5 K* A q p->next = q->next; * w H% h' f4 L4 h. W* \) H% V% l q = p->next; $ }& D% q. \% D! e/ f }, l8 g7 r1 l, q h=pa;0 e6 a5 o0 `) J4 C k = h->next; . a0 y, A4 z1 f5 Q3 J1 w8 }1 z5 C& P }5 `- H1 | z& o6 I ; j% J$ J4 v; F7 U' b" ?' ^( ~ if (q->exp = p->exp) # l* h4 G9 s% q$ T# [ { 5 M6 Z0 O4 d6 P7 E0 Q: w+ @, ` p->coef = p->coef + q->coef;- D0 e: `1 o4 w7 E" x' }. w9 @* K p->next = q->next;- c* `- _: a1 d: U6 M3 D9 g8 o q = p->next; 8 N) P- Q1 z! I* Q' [" U }5 r) b, h3 s; F+ l- A. x if (q->exp > p->exp)/ J8 r1 F- c: X% ] {7 W! R5 y9 ~/ F, y2 h7 A q = q->next;# S2 l2 I* c6 H p = p->next;1 Y) {: r4 i4 O) d) k4 m } 3 p, {" C+ v7 W9 m } * ^7 O6 g% J, Y5 @}

main()( @6 [. k$ D4 N, V( ^0 @ { $ p6 n, p6 e1 M. X+ T/ Z+ P int i, j = 0; & L; C4 C ^4 o$ \( I printf("a="); & y B, a, l' a- E- c! @% w scanf("%s", a);3 h) H4 @9 r$ A% d- I3 T$ t7 T5 u j = strlen(a);

input(a, j);5 p7 K! m6 H. `" i4 f) f stinsort(pa); . p# l* }+ f# O& m) |7 O; ] printf("a=");6 P1 U8 \, v4 b) v" P' q7 k( _ for (i = 0; i <= j + 10; i ++) . r/ D, Q; `: E { ' i! ]8 f, |$ h# p* ~; ] printf("%dx%d+", pa->coef, pa->exp);; E {# X5 B1 |+ V, t pa = pa->next;. D2 ~# X, w% q. Z7 u0 b+ y } 7 j2 v' h( ?) T5 I" A}; C! B% U# X( g# t

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

该用户从未签到

7
 楼主| 发表于 2005-9-17 17:28:00 | 只看该作者
这是上学期的数据结构课程设计
) v3 ?* \1 P' {$ u! F结果我已经弄出来了,得了个优秀,没跟大家说不好意思
/ @( k) {- u3 f1 P# V多谢大家给的意见,我现在水平还很差
# v5 C# u+ C& G. P9 k" i- @+ `至于注释都是给自己看的,发到网上的时候没改,呵呵~~~~~~
  • 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 下一条

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