下沙论坛

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

QQ登录

QQ登录

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

[求助]请教各位大虾

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-7-6 10:23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我的数据结构课程设计' C; K+ I- q) P+ i" P4 Y- J 实现一个多项式合并,字符串输入多项式,链表插入排序 & _' l' ?2 J$ _可是我运行出来结果不一样啊,大家帮我看下哪里错了,小的在此谢过啦~~~ " U. z |9 h1 D' L#include9 ?, d! b) {. c( U* g- u #include / Q5 c1 }" W& i8 H#define MAXSIZE 400 ' y- Q! w5 |+ @, G* S+ t8 ichar a[MAXSIZE]; # x$ j- N3 d" C5 x1 Stypedef struct{char elem[MAXSIZE]; 8 Q e0 g9 V0 X int top;" k* X- ]. g7 e6 `8 r$ @ }SqStack; 6 T- `8 Q. D' p9 jSqStack S; M5 Y ?$ J) ]& l) K# h typedef struct poly ; Z1 v5 O! U5 v ~ {int coef; /*xishu*/7 ?7 L9 t3 G" l1 y$ B8 K; u int exp; /*zhishu*/ 6 `/ b& v! w1 X+ c% K, F u struct poly *next;5 h2 Y. j! j, d! i }Lpoly;$ G! h5 E! v. J) C: J% h Lpoly *pa; : _3 Z" o9 [( R9 D& U) pint cf(int i) /*10^i*/( U& P* W' u0 z m; e7 Z& r { int c=1,j; ) J( k, l* D, k4 c& O for(j=1;j<=i;j++) c=c*10; 7 S7 L( _( q1 L return c; 6 @4 {0 Y$ K& s. M- A4 k i} 8 N, m6 N# ]: f% I3 ?void input(char a[],int j) & f% B8 W- E. b- p: q{ Lpoly *p,*h,*ptr; N- G( a0 k& b2 W- l. V int i,k,flag=0,x=0;2 X7 t1 D) n- D4 i S.top=-1;2 i9 ]+ B) M3 m, _- |- {1 f pa=(Lpoly*)malloc(sizeof(Lpoly));! W3 H' X# s) G& ? pa->coef=0;pa->exp=0;+ C4 e7 t P; k% j+ h h=pa;h->next=NULL; , E. o' y6 u& O6 F9 z0 G( I p=h; /*jianlipa*/$ c0 W- H* f$ f8 o: C+ Z for(i=0;i<=j-1;i++) * U8 f3 G% b* j {ptr=(Lpoly*)malloc(sizeof(Lpoly)); 5 @- K" S% Q+ c! I1 a if(S.top/ w1 ]5 L1 t! i' L, N6 O {S.top++; , u9 T6 K4 o1 m% z) L S.elem[S.top]=a; r! w5 w; S7 n( @9 R" R3 S9 h }0 i+ F7 | ~5 H8 X1 ?3 l if(a=='-') flag=1; ) ?' L8 r" i& |9 e7 S3 H+ z- N if(a=='x') /*fenlixishu*/ / \7 z0 @+ r1 _4 g) y; N {if(S.top==0)$ p: q9 S& x' T9 H {if(flag==1) / s# V, X4 z# _: _& Q+ u {ptr->coef=-1;ptr->next=NULL;} ' R$ I) p9 L$ v: r else% X1 }5 {* e& X) d; B, W {ptr->coef=1;ptr->next=NULL;}1 J% R: y8 W7 i8 x! r' C+ f& ] }- D/ p# i) O. O4 e% N else / q/ ]: R& X# ]" w Q+ x9 O {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);2 O! n! Z) O ]4 Z/ i, X$ {5 r# Y, T ptr->coef=x;ptr->next=NULL;x=0; 0 J. u+ x" J4 T. N' o }7 T, _0 ]- C) H3 f S.top=-1;flag=0; /*clear*/ 7 R9 O. S, l* V6 `, g3 F" m }, U0 n4 L0 ~ O5 @; J* [ if(a=='+'||a=='-') /*fenlizhishu*/6 r4 c& d r. j0 U7 `4 h, V {if(S.top==0). ~1 w8 z" W; l9 |$ x: R3 X) R% U {ptr->exp=1;ptr->next=NULL;}( Z c( y2 A6 V3 x; x else: o' \+ X0 e* T {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);8 \ d, @8 L. x4 D ptr->exp=x;ptr->next=NULL;x=0; " q- v, W+ z: @$ p } /*tiquzhishu*/* L7 O, k$ Q# \ S.top=-1;$ a& T2 f/ ?& O# Q }# e/ j4 g+ @6 ?5 k% L2 X9 T* j- m3 B if(ptr->coef!=0&&ptr->exp!=0) ) J4 T5 B @/ `$ ]! ~1 w0 [( z {p->next=ptr;0 L q0 M. M/ _9 |% k p=ptr; }2 F2 V2 U9 I% b: H, i } }6 M+ \3 P3 a6 B9 z0 h if(i==j-1): R6 O) l2 |9 M$ h8 s& y {if(ptr->coef==0) - c( F* o! w+ x2 F' n( R& P C* r {for(k=S.top;k>=0;k--): S# F, o; O% f4 j$ ~ x=x+(S.elem[k]-'0')*cf(S.top-k); ; k! m6 T/ v; g+ J9 z9 L# { A1 Q ptr->coef=x;ptr->next=NULL; 3 G5 H8 e. ]4 i, R } 2 e' f. t6 F3 d$ | else 5 n; K2 E# M1 l5 w0 F {for(k=S.top;k>=0;k--) 8 D. v" ^* z# V2 F- T, X% E x=x+(S.elem[k]-'0')*cf(S.top-k);3 J. y! N. A( O! A/ f. Q4 W4 A ptr->exp=x;ptr->next=NULL;/ v" ~% D; n p; A* k. T* v }; [' z$ r4 B# z8 S5 q# g p->next=ptr;ptr->next=NULL; 5 D" d! B% P# R* k* p }5 v: u( E( H& s b6 b5 b } % x4 v9 M; ]; C2 [0 [# S- l* \}9 B; }+ P" O) x7 N9 D9 Z void stinsort(Lpoly *pa)/ [2 g% } {6 D% I0 |- P z { Lpoly *p,*h,*q,*k; 3 F: n! ?% ?5 o( R3 K h=pa;p=K=h->next;q=p->next; 1 z: g- D0 U2 v3 K6 i while(p->next!=NULL) . `2 C' d) \+ ~# A" X: } {if(q->expexp); G7 ?' i8 J3 w2 m- R7 w; m {while(q->exp>k->exp) d3 t' w; v. M/ F4 l8 l0 Q t+ m8 m {k=k->next; : `4 y1 y x! Q h=h->next; 3 V% x0 h4 _+ ? } 7 ]2 s7 ?2 s3 H if(q->expexp) 0 Z8 ^! s' S( u! c* [ {p->next=q->next; $ k* T: i) K5 W; ?+ `: k' M0 z* ? h->next=q; s+ o- b* U# l M! i* u; N/ X q->next=k; ( @8 x4 C. z5 N q=p->next; q/ M( ^5 `$ t5 f0 n- C. G5 B/ L } 0 r b+ Q" V5 H; ^ if(q->exp=k->exp) & W! ?# m) |' h: j% W6 Z {k->coef=k->coef+q->coef;+ V: D+ O* j9 e p->next=q->next;$ N7 |# }9 h' {5 P D! h$ A* [ q=p->next; 4 p$ I! _2 j6 \/ ~3 @2 |9 h } 9 J# R H+ w" [2 p- n h=pa;k=h->next;1 l) L' R, D* Z5 m C } 3 U: e4 H1 u I3 C3 F if(q->exp=p->exp) 6 C5 | w3 [: t; o {p->coef=p->coef+q->coef; 2 t5 D( P1 i+ y: N" B p->next=q->next;+ T! x0 D/ @( ], U# o q=p->next; 5 I& q6 e4 F& K3 v7 x( {) X } : G+ o( R; J$ h if(q->exp>p->exp). O v7 U3 @' A+ D' Z/ b) z- W {q=q->next; * G C, i. [1 w1 | p=p->next;! Q; |; Q$ D/ k. F* T+ M1 ~ } 7 V; Y9 Y' y) ]8 _2 g }6 U7 d6 p }( @# Q$ e } S& I0 {7 p& O4 hmain() 2 P1 R; E! Y3 k{ int i,j=0; 0 S4 |7 b7 e+ F printf("a=");% o7 W" Z9 l0 l6 {/ r' M scanf("%s",a);4 f" Q- \% I. b; V7 c4 [' O1 d for(i=0;i<=400;i++) 3 r6 f# ?& u$ p; n {if(a!='\0') j++;} + S/ ^, }; F. \4 r/ e% Z input(a,j);/ A8 D: ~0 M" `8 y4 C L9 i* ` stinsort(pa);8 T) _& y1 z% }% D; R6 |2 b printf("a=");) h& ]! {+ ~# Y& I* P for(i=0;i<=j+10;i++) % V" A2 ]% R' v {printf("%dx%d+",pa->coef,pa->exp); 2 c0 E/ C/ v9 A2 {, M2 g: f pa=pa->next; , L+ Y x' ?& S/ ^5 }/ A5 ] } . \* O) _! c/ D1 i}
分享到:  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". K7 t4 I0 ] n& ^+ w #include "string.h"; \9 G5 u* b9 C) q) N #include "stdio.h"

#define MAXSIZE 400 - @) K2 I" p: G0 a& Xchar a[MAXSIZE];

typedef struct6 p7 P7 X- z( h5 y4 L { H5 M, c- F, A" t+ A% }) D char elem[MAXSIZE];! p" X& ?% B- f( ?5 \& } int top;9 ^3 }! S' D3 [ }SqStack;

SqStack S;

typedef struct poly% M5 x: P9 [0 i3 {; L$ o% R {2 z$ ]. `% ~2 E; S7 o' G; L" u8 ~1 Z int coef; /*xishu*/# \9 H$ C8 g h+ J c int exp; /*zhishu*/ , N% J, X# b6 G struct poly *next;; C- z) l/ e$ s: ~; W2 F }Lpoly;

Lpoly *pa;

int cf(int i) /*10^i*/ ! u; Y' @! H8 _{+ E" v F) ^! g9 s* b3 L int c = 1, j;( h4 ~, _) y. L7 |9 M for(j = 1; j <= i; j ++)! t* q& \% S' H c = c * 10;. N" e4 C7 X3 e& z" ^' n9 d, _ return c; / h2 j8 v! D7 b* c9 F8 K# {* n}

void input(char a[],int j)* F( g; F! d9 B+ q {0 |* {& Y' E2 F- u: d3 f$ r Lpoly *p, *h, *ptr; 3 v0 z1 U5 T' D: J$ [. Y/ A int i, k, flag = 0, x = 0;; p7 ?, |6 W6 e* Z( k, j S.top = -1;% [8 \* C [3 P( D6 T3 S pa = (Lpoly*)malloc(sizeof(Lpoly)); ) E4 X3 K* [2 T2 t! Y6 N9 } pa->coef = 0; , h+ ]4 c- _, N. g9 E pa->exp = 0;& {' X4 R/ v9 u h = pa; 3 d; u' [0 D; R h->next = NULL; , ~8 N9 N$ E2 @! e& t. ? p = h; /*jianlipa*/& p* F/ |# Y) P0 L8 o4 I7 { % B5 W% Y1 g. Z for (i = 0; i <= j - 1; i ++) 1 [, T; |! d& p0 _+ { { ) I! C! F* X4 J' ]" q ptr = (Lpoly*)malloc(sizeof(Lpoly)); # B- y6 _! s1 L$ ?3 {2 O if(S.top) % D$ ?9 N6 j5 s3 \ { . f& W( p( R6 E S.top ++; & x) e2 k ^' A S.elem[S.top] = a;# |5 A' Q. L. T( {4 B* c }+ L# h+ S4 e9 v if (a == '-'), u4 \2 Y! k3 t1 P! H; R flag=1; 6 A; D9 O$ j1 H+ g& {2 V' ? 2 A( E* f2 K" c( ]4 Q2 J if(a == 'x') /*fenlixishu*/5 t* H- x2 k, U# X/ l {/ T2 t8 [) h( B8 N* Y6 o: W if (S.top==0) 0 ?4 W5 c [0 f4 X {% @+ E- V2 \: L3 ?. E if (flag == 1)7 e3 C: X! s, ~ { ( ^4 C% i) Q4 }; L; w ptr->coef = -1; 9 C3 R, `% l8 s* Q" ^ ptr->next = NULL;. e( _# L0 e# a. j; ] }! |' i; _) d8 N6 A- z/ V+ v else * ~& o6 m; J( ^( y { ; ?# Y9 u) p- r& M ptr->coef = 1;. z( }, b* I$ E# z ptr->next = NULL;6 e! n `; w8 _7 S( n; _, U } {% s: v9 n" b7 A6 |" ^ }# U: ?# L- P1 r, ~( g& W% t else* \' o7 N" I9 `$ X* i8 R* }5 |4 x" m {! {1 y, G3 C# l$ G8 o8 b: b5 c for (k=S.top - 1; k >= 0; k --)4 v! M7 u/ q8 R: K8 s x = x + (S.elem[k] - '0') * cf(S.top - 1 - k); 7 y: w( C- T/ Z# d# U1 r5 r' R8 O/ [ ptr->coef = x;4 [, h9 c x% E% W& B( Z5 Z6 P+ q ptr->next = NULL; ! s- W* K# s& F `# O0 x x = 0; , _3 O3 b' W: S- u }! x6 W" p# V% q8 B0 h; v S.top = -1;' G, J' t, A. C ~1 ^) ^4 C- |, Q flag = 0; /*clear*/ * Q+ [: t `4 t2 v' C$ m } 3 d) y; D6 k$ O S if (a == '+' || a == '-') /*fenlizhishu*/ ' o9 f5 A8 x1 H( q2 ~3 h { 3 F1 a3 k' n7 k! H, W! z1 ?- S if(S.top == 0) + e7 v+ F, s- r { 6 q, {8 B. W0 E# N2 Z8 x! D6 ^ ptr->exp = 1; $ {6 d, B% v$ X. s) s ptr->next = NULL;! _/ b6 ]9 Y: w, F6 l+ L }+ d8 I- ]0 D3 Y6 K7 S- T/ W! F* G else) S2 g& d" A+ X5 ~% L- z- I { ; e8 w3 n& b2 A for (k = S.top - 1; k >= 0; k --) $ n! @4 ^6 I5 @% }, r( s) ` x = x + (S.elem[k] - '0') * cf(S.top - 1 - k);" [1 R$ x) v2 ]1 P ptr->exp = x;% B8 b; L) h+ T9 t3 m' h- ` ptr->next = NULL;" T! J$ Y! A+ Q& s) O- D6 v x = 0; % n- ]% d n- |) O }/*tiquzhishu*/ 7 G N5 A9 W, u S.top = -1;+ I/ }$ Y! F9 a. X( s* m } & T4 _9 ^) _7 [6 J8 |& v4 q! i5 M7 z if (ptr->coef != 0 && ptr->exp != 0)& V- v: W9 d( F* _; q8 d {! | F. x$ i0 j' l7 p% U& k+ \( f; ? p->next = ptr; 0 x/ n B# h4 V p = ptr; . A) _$ v5 f" v4 o" w6 h }# L* W" {, B5 K7 N- H if (i == j - 1) ! X1 e5 a- ?2 w0 K {1 W# C9 z6 |1 D) v if (ptr->coef == 0)' W* m V% p$ i% ? { ) o4 z/ C' t3 q+ I' }; |. ?8 A for (k = S.top; k >= 0; k --) ( V0 d# X' R! a# P1 E% T x = x + (S.elem[k] - '0') * cf(S.top - k); ( R/ ?8 d. {& F+ Z$ T ptr->coef = x;: |0 N% _, q+ M: e ptr->next = NULL;, b0 G) N/ P; ~2 X4 a } , j- x; p; X3 I5 p else+ v4 n( K$ i$ b# j. ^. w { . I+ Q8 g* N$ R for (k = S.top; k >= 0; k --) 1 ]* T, H3 D. _4 b4 h x = x + (S.elem[k] - '0') * cf(S.top - k); 4 s& ?+ D+ P2 ^6 ~3 a7 W ptr->exp = x;& ] c' \* q+ | ptr->next = NULL; # F. ]0 Q: G0 t! `1 X& R# Z }+ d$ [2 F9 L5 N7 w9 W, L* h& k' z p->next = ptr; ' w% o3 j5 M& s; {1 [ W' f$ z ptr->next = NULL;+ i( E( C" Q7 T: F% ^& t } m# J6 E# a3 j! {& N: j- @: {& i } 5 L5 T0 x! V! _& A2 p. @}

void stinsort(Lpoly *pa) ( g' s% K9 W/ ^( K{# a! B. {' a6 B3 T; i4 K5 D Lpoly *p, *h, *q, *k; + c6 n8 P1 h. O* i, ]$ p9 c7 f2 Z h = pa; 4 H# R' o5 y2 X$ } p = k = h->next; 0 N6 L7 _6 Y8 } q = p->next;/ t! x) D! R, |: G% N$ |4 _ while (p->next != NULL) ) [1 q$ y8 K5 x1 m1 z) h5 J" P9 t; Q% X {9 ?/ q2 m) ]4 {* f/ {- N if (q->exp) 5 P8 L1 V9 n. f! C, K0 W+ u7 L { 8 L y( y+ @7 m+ _4 v5 S while(q->exp > k->exp)7 H, ]+ E3 c( m {/ k% j' Y( G9 V k = k->next;" |; e; R* P6 z2 ?+ x4 x- | h = h->next; - z. U, g% L/ {: ~; X m0 w } ' r& n6 m" v% L if(q->exp) . b; m. ]) e7 X { , ^- [$ s3 G9 n6 n. M( ] p->next = q->next; " l; l, a! q! Q% e h->next = q;3 ?& f; U4 Q/ ?9 k q->next = k;+ I2 A. x( r" }2 ^$ D' q q = p->next;; a1 x+ X- ?" S" N& B' m! i } 9 e8 S1 R [1 J. y if (q->exp = k->exp)4 _" ]8 _8 ~5 f- e" Q" C {- }0 W! V7 y' K4 v k->coef = k->coef + q->coef; 0 i) H7 z# d( f- [6 Z% h p->next = q->next; + I- N/ f; B2 p q = p->next; : c O4 L$ _9 O$ {% z. l" @ } . ^ F) \6 Y2 F/ T4 a5 w h=pa;, t: M6 l/ c! R+ F k = h->next; : C, f ?" |5 j" l' g } 1 ~& Y1 S% k1 N ( v& [) W, T" n$ M' I* x if (q->exp = p->exp) 5 {+ P- Y$ g f* N {& v- @# X% }" _/ L. l. q$ \ p->coef = p->coef + q->coef; : t: z( ~9 g! O2 ~1 y p->next = q->next; 2 I3 s* y' \9 R% Q q = p->next;$ [+ z( j6 n9 R1 O" l* K1 w } 0 F6 \' f( U3 b7 u( f' X if (q->exp > p->exp); i* z, B$ [1 ~! D1 ` { - ]) A8 a' x* f( b) M q = q->next; $ M F$ x3 ~* f- Q8 B: k p = p->next;5 J P- J+ V# B5 l1 J) y R } 3 G8 V- A o e) c, W2 e }. s% }8 W: q! q! l, k }

main() + z5 }2 x" f. |! J{/ X+ A2 O6 |* K- _0 d$ s# f int i, j = 0; & a9 Q) I0 D5 Y; p0 s/ }2 Q' N printf("a=");7 ^6 z0 @5 ]2 a) | scanf("%s", a); r2 }6 `9 s# H0 \7 F: F8 Z j = strlen(a);

input(a, j);. }/ r8 e" v2 K3 I; s stinsort(pa);# q7 P4 X" Z9 e2 B. a( k2 o printf("a=");8 h5 s+ L+ }& n2 [. u5 a for (i = 0; i <= j + 10; i ++) 9 Q! V% Y. d( {9 C( j {( |# j! A5 |- Y2 ^# e printf("%dx%d+", pa->coef, pa->exp); + p. g( U4 ]+ R& }; P pa = pa->next;3 r p$ O9 [- D0 e( o }+ a3 G9 \6 ~$ ~0 z5 Q; z( i } 8 C6 V. l' \& a$ \$ L

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

该用户从未签到

7
 楼主| 发表于 2005-9-17 17:28:00 | 只看该作者
这是上学期的数据结构课程设计2 E: ~8 o+ K# [. a/ i
结果我已经弄出来了,得了个优秀,没跟大家说不好意思
% ~" E( D( I6 ~# k9 z9 d多谢大家给的意见,我现在水平还很差
2 Q7 j8 N; t0 G" r- n% x至于注释都是给自己看的,发到网上的时候没改,呵呵~~~~~~
  • 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 下一条

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