下沙论坛

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

QQ登录

QQ登录

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

[求助]请教各位大虾

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-7-6 10:23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我的数据结构课程设计 6 I( ^# t: s! p- m实现一个多项式合并,字符串输入多项式,链表插入排序 3 { T/ ?- g7 f可是我运行出来结果不一样啊,大家帮我看下哪里错了,小的在此谢过啦~~~ ' _( z5 d! L, E {/ @& p; t#include) g7 u9 ^9 t+ ]4 v% f9 {7 b #include# m& v: k: g1 ]$ H #define MAXSIZE 400 w/ M* n3 ?; a% X/ ~ char a[MAXSIZE]; }) f' @7 d2 f! V typedef struct{char elem[MAXSIZE]; V! q! H) S% o int top;) I$ D6 l, }8 |) v, Q" ~ }SqStack; , C- Y) s' X' t& m- i" ~6 Z) D8 m; CSqStack S; & T* Y+ B2 j6 C! p. Dtypedef struct poly 3 A8 p; |' p9 g% N9 B0 d3 j S {int coef; /*xishu*/ m( D5 i( h4 D int exp; /*zhishu*/ ; k5 Y+ S3 x l7 N struct poly *next; - v6 Z! ? I( t" e$ g }Lpoly; 4 P; t; X$ O, w# t5 QLpoly *pa; ?; e* k4 F4 J% }2 ? int cf(int i) /*10^i*/ ' |# i! Z; s1 @% s0 R5 M% Z& ~{ int c=1,j;) {) I+ r- J! R G* D" k2 G4 W for(j=1;j<=i;j++) c=c*10;# H. U* s, d9 T' C* l return c;7 I$ M) u9 o0 a) t. h1 t } 9 x9 B6 H: r5 k) q! c( p+ T1 \+ Zvoid input(char a[],int j) 9 b% P r4 |+ R# L4 s3 C{ Lpoly *p,*h,*ptr;0 ^$ {" ~/ Q" { int i,k,flag=0,x=0; $ N9 C7 x( k) w, R/ R1 O( U5 N+ | c S.top=-1; G- b( R, M a7 {0 C; U pa=(Lpoly*)malloc(sizeof(Lpoly));6 ^8 _* ]) w f; y" X6 I) w pa->coef=0;pa->exp=0;7 G6 {. ?5 s/ D" ` h=pa;h->next=NULL;& `6 {( {; r! _ {. N p=h; /*jianlipa*/6 Y/ H% o" _4 i for(i=0;i<=j-1;i++)" @" F: Q5 T0 `, Q {ptr=(Lpoly*)malloc(sizeof(Lpoly));. Z4 Z' H; }: n3 t if(S.top/ y" w+ W7 t6 c; C/ ]4 [ {S.top++; 3 @) X# E8 V+ n5 g: K S.elem[S.top]=a;- ^" i, w# v$ T2 a7 d/ X } / ~8 o0 s- L( s4 ] if(a=='-') flag=1; ; j( W0 F( p0 N0 n; N7 ~ if(a=='x') /*fenlixishu*/ 8 N T1 j6 a, A+ \3 j {if(S.top==0) 5 X4 ^) S; _- z) v {if(flag==1) ; r# i+ @5 q% F# p3 N$ x: m5 O {ptr->coef=-1;ptr->next=NULL;}8 P; ^% a. a ?1 y: v u! q) F( h else * m& F9 B! J+ h& {5 N {ptr->coef=1;ptr->next=NULL;} 9 h3 k% y7 |3 b% z, I% I0 ^ J: C } # T% K0 k8 `4 t* e7 G2 d& M* p) N else ! q; B _: R/ w! S1 l* Z {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k); 0 r7 \1 S [$ ]' N4 z- {) O) _ ptr->coef=x;ptr->next=NULL;x=0;5 B4 P: A. y# i* G& n# S7 r% ~1 c* s: v }" k4 P6 W. A/ `! s* T S.top=-1;flag=0; /*clear*/4 L2 s8 q2 u3 Q$ `1 Q% Z }4 Z9 S w( V% h0 o5 i if(a=='+'||a=='-') /*fenlizhishu*/; z* m! [6 \5 R5 o' ^4 z; j- D {if(S.top==0) - `6 i" F+ @# H3 b; ~1 H {ptr->exp=1;ptr->next=NULL;}% S: t7 \3 V" J6 H7 I9 F! ?" g% e+ J else0 S+ O1 X% b7 _* P9 ^4 T: g3 ~ {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k); 0 P d$ `; a% o6 j, N) W ptr->exp=x;ptr->next=NULL;x=0; 6 u0 A* C3 p$ G) I9 r' `" S) O: n } /*tiquzhishu*/ ) u4 C: s1 Z# U! N# _: ^4 J+ l S.top=-1;2 ~$ ], f* J* y( o4 F( K/ h } 1 j; Q; G4 Z x1 S8 [9 \ if(ptr->coef!=0&&ptr->exp!=0) 6 h1 G3 ~; r1 t" a: T; [ {p->next=ptr;: k' ^3 j, f! D p=ptr; P) l- O, \. m }: {0 q7 ^6 w7 c if(i==j-1) : g) T p$ b( { {if(ptr->coef==0)7 z% G: m4 U/ |1 w" c {for(k=S.top;k>=0;k--)4 g) S; }" O' N7 @8 j2 o x=x+(S.elem[k]-'0')*cf(S.top-k); [( S1 r# \- ^; E6 Q2 Z ptr->coef=x;ptr->next=NULL;" F1 n! f0 c, T. Q5 F8 x! } }' u2 |( f" \! a else * Q5 M- z8 H& j, a8 z5 r: | {for(k=S.top;k>=0;k--) ; s7 j$ e- e# ]4 U x=x+(S.elem[k]-'0')*cf(S.top-k);8 k( n$ _5 l4 ^6 I5 S& E; l/ Y ptr->exp=x;ptr->next=NULL;5 c2 \; Q! m. | } " _7 z, ~, N7 E9 U p->next=ptr;ptr->next=NULL;% ~4 N) y( n+ N+ D( O } . J, h' G& Y9 {$ Z7 [, L }8 x: r0 P7 h: l5 ^- x } + l+ m r8 b* R' V- ]% k3 }void stinsort(Lpoly *pa) 6 d. m+ X3 X) V v{ Lpoly *p,*h,*q,*k; ) @) e4 r! t# N6 s# o h=pa;p=K=h->next;q=p->next; 4 e. }& }% d! P% K: Y# K+ [' m while(p->next!=NULL)' Y8 {3 {8 c) G- o5 e8 F% C, ?$ z {if(q->expexp)& H' M4 h/ o0 ]. q4 C6 y# G) L {while(q->exp>k->exp)# _- `* m9 \8 R& j$ ] {k=k->next;" E3 Q: `) m0 @3 R: ^) n h=h->next;+ W5 v$ ]! A: ?7 ~2 o } , d U( _5 X% F- s0 z; S- u# ?& i# C+ i9 S if(q->expexp) 5 R+ l- K/ s# l. `* P( T+ w {p->next=q->next;, u% c9 _& {; c+ i h->next=q;1 s* P3 W, r/ m+ T6 l q->next=k; / \! d/ b( U- t( Z E q=p->next; 6 {6 N, S3 B2 Y# q3 R/ j }. o6 B; M4 |" z, y: ~& U if(q->exp=k->exp)- L q8 I. K* \0 @, Z$ Y {k->coef=k->coef+q->coef;8 W8 ]6 ` |. M/ V( Q p->next=q->next; 8 U4 E2 u. j! O/ L) K; } q=p->next; b3 R# g" w8 z } # E) f; X. w: M; S3 B0 N4 i3 z h=pa;k=h->next; . @4 \8 K/ ~; x! @ }& ~# J1 ]4 W& P- O2 Y2 f if(q->exp=p->exp): X4 Q, n( |* e8 D" u1 C- b! i {p->coef=p->coef+q->coef;" y; E. I% y7 W; ]* Z p->next=q->next; * r3 ? O2 k5 o q=p->next; 2 m, U5 _4 f; Z0 R, w+ e }* u$ A' {( b. A/ x if(q->exp>p->exp)8 ], T' T4 ?+ a {q=q->next;8 X2 U/ r3 y' [/ T, ] p=p->next; 4 @* _% ^+ }: b- v9 t% y$ q } ' ?; i+ H+ t5 }1 A: m8 ~ }3 t8 i' C7 E/ v! }) U; O# x2 u4 I7 C2 K }* q* H8 i4 ]4 `8 ^ main() 6 U% W! V* }2 ~0 u5 [{ int i,j=0;; z* J9 ^; \1 c* q) q printf("a=");7 N! F( e8 p& ?" }5 C ?+ y scanf("%s",a); ) i8 [" }, p0 s/ P9 I( F for(i=0;i<=400;i++) # f) _& G. D/ p% p9 A/ r {if(a!='\0') j++;}( e, a: Z( Q7 b. g S9 K) N6 M input(a,j); $ S3 F- n ~5 k9 g: U* q stinsort(pa);& a! o9 f" i$ B- e' P( F printf("a="); : N! W& v2 {/ M* i h5 e E6 C- K( Y for(i=0;i<=j+10;i++); ]; I: h9 w+ `7 _( L. } {printf("%dx%d+",pa->coef,pa->exp);$ f, E1 L/ e0 V$ Y4 {6 f- ~! d6 S pa=pa->next;7 U% q4 K6 {5 y3 z# U } M! J; X) U/ P6 V }
分享到:  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" - q o5 A8 ?. j: N#include "string.h" 2 h. I5 g1 t; h1 O* M#include "stdio.h"

#define MAXSIZE 400 " w6 w+ r$ t, o, V/ gchar a[MAXSIZE];

typedef struct ! ]9 ~$ M% D2 Y{ & C, ]2 |: B0 o char elem[MAXSIZE];/ N" v( I7 J/ _- a) i1 p0 z9 D7 r% ` int top; 5 @" L% }! W9 a3 i# Z9 c6 ` f}SqStack;

SqStack S;

typedef struct poly ) D* b% h6 J( s# D( e% {: v{; m! `* c: g/ q/ K int coef; /*xishu*/: Z. v$ S3 [+ l X. B: B0 u& c int exp; /*zhishu*/ 2 I" C/ a* A6 M struct poly *next;' s0 Q' Y0 @0 j2 L2 d! A( O4 k2 x }Lpoly;

Lpoly *pa;

int cf(int i) /*10^i*/4 g5 G" C9 @8 C- V& k { . ~3 T; {" c' A! q0 B2 e Z) Q$ ? int c = 1, j; {7 T& T3 ?2 N for(j = 1; j <= i; j ++)3 M7 e4 ]# f: q3 G5 y3 w8 Y9 \ c = c * 10;5 Y. N8 h) W% X0 L return c;; {- n; x$ Z& Y }

void input(char a[],int j) ( } l' @' ~2 @{% {: U( d5 ]6 M. H9 V Lpoly *p, *h, *ptr;6 ~; c N) j% i" |) [ int i, k, flag = 0, x = 0;) Q7 H. |; v- L1 @. r6 ]- j S.top = -1; 2 c( m9 ?6 R7 e pa = (Lpoly*)malloc(sizeof(Lpoly));- l% a( \1 j+ w pa->coef = 0;% b/ w/ i, n) N pa->exp = 0; F8 P; y) g; ?, _5 ]" u8 P h = pa;' { G6 K7 n0 y h->next = NULL; 6 [, v+ n* V6 ]3 g' W* X' z) M p = h; /*jianlipa*/ ( K+ V+ H$ h- [# Q0 `2 _' N6 d ! ~ {& F7 d1 H. o W7 R# u* B) z3 T for (i = 0; i <= j - 1; i ++)3 S7 m$ U# u$ k7 j' r, y {/ |% |- h$ C0 _8 @2 }' o8 g0 q ptr = (Lpoly*)malloc(sizeof(Lpoly));! A+ s, D9 l" V' L/ a8 k if(S.top) $ c" {2 q) z4 Q { 4 C) x, d; Y I" d2 c S.top ++;# a @3 Q- P G S.elem[S.top] = a;- ^7 X6 \9 K. P } * H5 Z; t9 q6 ]; j, F: w: P4 Z# c if (a == '-') $ p P- B1 b9 a flag=1;) z/ n2 ?' J' u * A; j4 b# f# s8 G7 E6 E if(a == 'x') /*fenlixishu*/ % w, o& A- a5 o7 t { ! D0 ] i2 _& t8 s if (S.top==0)0 b% x6 G4 w$ j9 B1 T2 g {4 f- c9 x- B( O* w. u9 ^, t# z0 M if (flag == 1)+ G7 ?( p, V, n p5 ^4 c4 C {5 S! D% a5 B6 S+ F: S6 A. l4 z. J9 m ptr->coef = -1; $ p% V5 z0 c( l/ q# J# K ptr->next = NULL;9 l. j" o7 R2 O7 p7 t8 W3 S }. l D4 F4 [0 S3 P else 7 r/ d [$ \5 n. _# N" r6 e J$ c { / E8 D6 h1 d# w7 O4 E9 [) M ptr->coef = 1;) H( F8 p/ S& @/ U: p ptr->next = NULL;* L9 z2 m. L" A }5 u8 |4 p6 t9 ~& |1 W } ' V3 E4 z6 o7 i) C else% b7 K: L- G1 i {5 G B8 o. R2 T for (k=S.top - 1; k >= 0; k --) M8 L% _' T1 ]; r x = x + (S.elem[k] - '0') * cf(S.top - 1 - k);) C' R8 l0 v' o1 I ptr->coef = x; 7 v6 r/ i+ |5 P4 p9 o ptr->next = NULL;" ~( h( ?$ @7 Z9 q% v x = 0; $ L+ t9 l9 w4 O; H9 t4 D }" r: P5 n3 V/ { S.top = -1;3 o% X) D* p5 t, {0 E$ b# B# X flag = 0; /*clear*/: {5 l$ w5 p& `2 @ r4 F+ R5 Q }/ E) l, f" {3 G' v0 @6 n7 g: | if (a == '+' || a == '-') /*fenlizhishu*/ ) @# B: ^2 o; {- P L {: Y- O" I/ o- i! e2 B, c3 l9 ? if(S.top == 0)/ q' q5 v6 o7 |/ ^3 t {# b3 k# E+ a0 z T- y1 L ptr->exp = 1; ( a: @( {/ p. o/ Q1 G! F ptr->next = NULL; " n% m! s9 c- P0 u% o$ z9 u+ h }% ^1 f- ^/ a; h) c& G; A$ \! R else 1 e7 P) ]3 R, p8 C1 Z* M { * ~, H1 k$ p& E* C/ c0 p for (k = S.top - 1; k >= 0; k --) ' L1 t0 b9 @6 E E9 u x = x + (S.elem[k] - '0') * cf(S.top - 1 - k); ^ }; Y2 l1 K8 N1 T } ptr->exp = x;- @/ L' U6 n: ^0 ?% P ptr->next = NULL; ) b( _# @7 [! v: k- K x = 0; . _7 A. G: L- q# B( U }/*tiquzhishu*/ ; q, C+ o# Y; | @8 \, j S.top = -1; # o* w" S3 O3 b6 D. ^* S+ z# B } ' T( B7 G; k# }; M9 f if (ptr->coef != 0 && ptr->exp != 0) , g! l# E' @1 I5 f* o { : w ?% p M6 @% m3 E. A, S+ J p->next = ptr;1 [: o, G8 w1 P2 D p = ptr; 3 D) H: y; T9 F0 [2 M, x! \, w }2 O# _ ?: L5 C/ E( W8 w3 J if (i == j - 1) ( W# W2 C: V/ s, j { / C: z+ r8 c- v, D( e- |# D9 O @ if (ptr->coef == 0) # ]/ X! B/ I) u8 R D { . Z0 Q* ?8 ~9 a7 G0 e for (k = S.top; k >= 0; k --)% R9 v( W$ ]/ [6 B1 i8 V x = x + (S.elem[k] - '0') * cf(S.top - k);# G6 L u% x3 \7 o2 K ptr->coef = x;! ^8 v0 y2 \' R+ O: e* Q% w7 e( [ ptr->next = NULL;+ x- H# x1 ^' `1 y- x( e7 Q }1 z' P; I* u7 G else: i5 ?3 `/ V9 [5 B6 _4 }4 c* r! E% { {; D5 M1 y: `! R; m* Z' I5 ~2 q$ M for (k = S.top; k >= 0; k --) 5 o. K( y+ |% A/ {) k, j# t x = x + (S.elem[k] - '0') * cf(S.top - k); ' M! T" p* _& x$ P: K" t1 f ptr->exp = x;* ~, m" E7 j; t' U8 _ ptr->next = NULL; 6 C- c: a7 Z1 s" e3 a) r7 o' Z } O( Y5 c; P& l p->next = ptr;" `( w" e: d, Y3 n ptr->next = NULL; . q# F& K/ R& N/ ^ }4 U$ O8 ^5 N L } * D* k1 _$ M1 E# R6 o8 {}

void stinsort(Lpoly *pa)8 d: Z! P9 Q' J6 q {3 F. u$ M1 F& z2 I% J Lpoly *p, *h, *q, *k;' a2 r+ n# h! Z( E h = pa; ; f6 j+ O U: o) w! ~ p = k = h->next; 4 g% }. R) t. ^+ D' `8 T9 l q = p->next; # q6 p" t7 m0 B- m" t while (p->next != NULL)& I; F, D* D3 s1 r' w {+ [6 L) |( v& }$ d9 U$ ]* q# P if (q->exp) % Q% u4 I, X' j- ` { # W; K* R# K9 V) h% R6 B+ ~2 M while(q->exp > k->exp)9 ^& `+ P. \% ]% t. p9 S% @ {7 r# G8 ]) m) V k = k->next; G: y3 P: r+ l0 C7 f+ d h = h->next; , q. P" F1 x. G3 F, h } 4 O+ G' d( `' G7 m if(q->exp) 6 u) I' p- o. _' |, ? { + T$ C# y* W2 K1 E" X p->next = q->next; 4 e& y8 ?5 J8 U: G( G. a h->next = q;! o5 E2 E4 Z; F u5 j q->next = k;. e, U8 H! m: v% O, u q = p->next; p9 }) T7 ~1 b Y2 p: s1 s } , ]( U# n. f( Q1 K! w4 e if (q->exp = k->exp) # x1 D7 K7 _3 M5 n+ j {+ Y* Z. w7 `+ v, h, `- B; { k->coef = k->coef + q->coef; * G# k/ o( n, N _& s& I5 Z) m& q p->next = q->next;1 k% ?& a, u, @' S q = p->next;, M n; l& S% ]! P2 c1 z* I }+ E' b) u8 N; u+ x2 h h=pa;3 i) u0 Z! K- ?2 p5 ]# s k = h->next; ) o: B$ F3 e; _" i: U } 6 y1 a( \, }, @ : U' k) ~- V+ d' v( w6 I" W. W if (q->exp = p->exp) 8 [) j1 o) F! L' m7 ~! z5 P- v) k/ N { . L5 U4 u* t4 n5 t9 m8 F' { p->coef = p->coef + q->coef; 7 Y# b6 W4 f v8 p p->next = q->next; ( x- x/ {% L* |5 g q = p->next;: A) I8 }9 f* l }8 V$ T; \- |- ^$ D if (q->exp > p->exp) * G' ? F! ]( r% m& X" ? { 3 s! ^9 L+ H4 @# S q = q->next; & E/ D6 |! O L9 A, ~, D p = p->next; ~2 j( [- p: p( ]3 ~ I }7 w }( u: F, L' n U2 i' b' c2 K( j }5 T" ~5 z% M: W7 q) _ }

main() o( S, P+ o0 M- `7 _* ~1 J! C {8 _% ?4 ?& L1 k2 S7 A int i, j = 0; / t5 F0 S/ S5 \ printf("a=");) @6 E3 R0 }" ]5 }0 Z2 K! p1 C scanf("%s", a);3 y( b, T5 F6 N7 E j = strlen(a);

input(a, j); $ ]1 k& n. {: o1 g; m$ r stinsort(pa); ! D5 c3 `# b9 B printf("a=");4 \# S% K) u" A0 V for (i = 0; i <= j + 10; i ++) . Z ?+ x( r' p, m* H G" | {' O$ _8 p" m! L printf("%dx%d+", pa->coef, pa->exp); & {- e5 X* g0 t: v) {. c pa = pa->next; 6 t* x+ L( Q, ], w/ l9 T7 i } 4 D" ]; g2 |+ o} ; Z; c* A- S7 H2 l

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

该用户从未签到

7
 楼主| 发表于 2005-9-17 17:28:00 | 只看该作者
这是上学期的数据结构课程设计5 {6 I* [) E! f5 c
结果我已经弄出来了,得了个优秀,没跟大家说不好意思
! e5 [/ P3 _' S) v/ v1 }! k+ d! k多谢大家给的意见,我现在水平还很差& z- ^, P9 V0 o; P) B, t
至于注释都是给自己看的,发到网上的时候没改,呵呵~~~~~~
  • 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 下一条

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