下沙论坛

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

QQ登录

QQ登录

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

[求助]请教各位大虾

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-7-6 10:23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我的数据结构课程设计 ! N- m L9 Q \1 ?8 j- t- b实现一个多项式合并,字符串输入多项式,链表插入排序 6 ?# f! _$ p3 d可是我运行出来结果不一样啊,大家帮我看下哪里错了,小的在此谢过啦~~~/ _- y! |' p u6 `2 ]& ^ d# Y #include 0 n" v! C- E4 h" E3 {# K#include3 s ]# @# p. T' }" U: U #define MAXSIZE 400( p! v: p; Y% g5 e& w char a[MAXSIZE];6 a- ^& D; f+ V/ Z9 {3 [& G6 X- W typedef struct{char elem[MAXSIZE]; 2 y w. A& v3 f+ ^" z; c H int top;. N* z- {8 x6 H/ a. _/ `+ y/ K }SqStack; 4 {" N- R- Y& ]' T* J6 _ XSqStack S; " v2 }& l% C- }; _+ H( R1 P# gtypedef struct poly" ^+ p2 E: g' \" k$ y; G7 A {int coef; /*xishu*/ ; U G* _+ C- W) x$ `/ O int exp; /*zhishu*/ , B. }& F, d' k( T1 O struct poly *next; $ b$ B7 [" ^" J! A* @ }Lpoly; 9 O2 o8 F; |, H6 c+ b0 GLpoly *pa;* ^- [& L1 H# b' W+ V" \ int cf(int i) /*10^i*/! d. N9 s/ a& E7 ?7 v { int c=1,j; ) H# @( |6 }3 {9 |8 i for(j=1;j<=i;j++) c=c*10; # H9 V- {8 M; D n9 l return c;, n) U: E6 q& ~0 T7 I3 j } % C: R+ |! X0 i) ] Qvoid input(char a[],int j) % z" J* r6 P* A1 \- s+ S: N{ Lpoly *p,*h,*ptr;+ D! \; p Z y" v$ u$ c4 t# E. K int i,k,flag=0,x=0;/ f0 z! V% n! Y S.top=-1;' E; M* F0 `6 i pa=(Lpoly*)malloc(sizeof(Lpoly)); 1 D) e9 @ j) P6 d9 _! B pa->coef=0;pa->exp=0; 3 z- A- }" d r( Q" f h=pa;h->next=NULL;* T) z6 S# Y! ]/ i. O3 | p=h; /*jianlipa*/ 4 A) g1 R2 a9 n, l& q( ? for(i=0;i<=j-1;i++) 4 p, } I. p9 u {ptr=(Lpoly*)malloc(sizeof(Lpoly)); : y3 F& t: \. w v# z Q if(S.top! S: A9 A2 F7 h" j) u |3 O1 r$ b7 d) G {S.top++;) e% o2 d6 d! X2 a$ \, c1 G S.elem[S.top]=a;* y% I3 D$ p) F8 P& L }2 b# u1 k8 v* S* ~ if(a=='-') flag=1; 2 m- d' [) d6 ]% v, h' i4 R if(a=='x') /*fenlixishu*/; i& o6 M$ i3 O% t {if(S.top==0) 9 n# e. {+ k4 y! m8 j- k {if(flag==1), Y1 A! f! Q! X {ptr->coef=-1;ptr->next=NULL;}# t; B5 J/ i% ^ else* u$ Z: k8 N5 Z$ x+ m6 X {ptr->coef=1;ptr->next=NULL;}5 n0 U' B& L6 s7 u: T! U8 ~ }7 l! Q1 U. N. I! C else" J7 I; Z+ f+ q: W2 ^ {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);% y/ I. s6 Y8 P8 a# O: V ptr->coef=x;ptr->next=NULL;x=0;6 j/ k9 p" H6 n$ v0 y x }$ b/ J5 L8 r( k S.top=-1;flag=0; /*clear*/* A( i, _8 X4 }, H* O7 ?& H }, G% W8 z1 J+ m) I* O. J. M if(a=='+'||a=='-') /*fenlizhishu*/ 6 G' V. |7 R& C9 S, g# u4 l {if(S.top==0) - ?' C6 q8 p G8 `: d# C {ptr->exp=1;ptr->next=NULL;}! x, U, q& r. X: p h) [8 [9 w# M else: s9 x) }# c2 q; \3 q1 K, T* \" _/ Z {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);2 ?0 F; O3 j) F" k ptr->exp=x;ptr->next=NULL;x=0; ) O# b8 i2 f+ n* e [4 a/ y [2 T } /*tiquzhishu*/# s3 k5 z% `4 u, M H S.top=-1;5 R: o; h1 q/ j w, Z } 8 o: X3 ?3 }2 U; m if(ptr->coef!=0&&ptr->exp!=0) / C/ r* ~+ \) A" u y+ o {p->next=ptr; 8 @" \3 k8 Q" K p=ptr;$ p. p1 Y Q0 Z5 M } + E2 X, f0 S- [8 _* c; ~, s if(i==j-1)! K3 g+ n; v! P- J n( ?2 R+ ~$ T( Y7 e {if(ptr->coef==0), U2 j, J0 L2 ]( o9 r1 Z {for(k=S.top;k>=0;k--) & C# {; i& d% m+ D* p9 l( o' q x=x+(S.elem[k]-'0')*cf(S.top-k);5 P6 _+ N7 M. |) z3 g ptr->coef=x;ptr->next=NULL;9 u' x0 L7 V* P( I( G& _ } * l# R% R, {; I/ B else+ X& U, v# ~4 L+ W3 z1 w' C- \ {for(k=S.top;k>=0;k--)* I- o: @0 _2 D/ r x=x+(S.elem[k]-'0')*cf(S.top-k); ; W2 e j% A: k/ D/ R ptr->exp=x;ptr->next=NULL;- ?( b2 k6 i. R: p: @# ~& _( A8 D, d }& Q1 @9 @; _0 Q- h; _( v, \9 E p->next=ptr;ptr->next=NULL; : @6 g+ R" h4 f. s }* J3 |# y' |8 i& y }4 A }# H. C4 @ M( I0 A+ y ~! w }' i/ W/ U/ i& T! [" O1 p void stinsort(Lpoly *pa) ) A& z# z3 Q' E8 U2 d8 A1 y! _$ F{ Lpoly *p,*h,*q,*k; 8 {. P0 c1 p2 }5 W k h=pa;p=K=h->next;q=p->next; 5 w" y5 Q( q! G while(p->next!=NULL) - M- e" {, F% K4 N4 {, x, | {if(q->expexp) 7 r' g* B3 C$ O' M& G) [- M. S8 Z4 i {while(q->exp>k->exp) # [' [2 E3 C j) m3 V {k=k->next; ( Z+ N: [+ X! ^0 x! x; u h=h->next;- {- {1 d( @2 E0 X } 6 N2 w" ~1 y6 \, S if(q->expexp) / h; B! p9 J$ J0 R {p->next=q->next; 5 Q* b) }# _) G/ d1 ~ h->next=q; + J8 D u5 t5 H9 P; y% P% | q->next=k;& C4 }9 ?3 A4 K q=p->next; : r0 o1 {0 F* u9 p+ Y1 P } ' B) f: \" H* e/ G- j1 K if(q->exp=k->exp)% ?0 P+ {* B6 P* l {k->coef=k->coef+q->coef;2 o& C9 i S+ r. J& g p->next=q->next;$ O, ]' D. a7 D: T8 ` q=p->next;3 ^3 t c: v+ d: B' z }* M7 k5 v' n) s; ]7 |# u h=pa;k=h->next; $ W" A$ T! g: r5 N }0 I$ h5 Y$ X5 M" Q if(q->exp=p->exp)3 `5 @" q% [- V) t j% \# T {p->coef=p->coef+q->coef;$ |6 f+ M1 G3 ^! N1 y1 D p->next=q->next; # r* P2 e5 { [% i q=p->next;) q2 {8 R8 N% D, X' J9 B }- m2 `( k$ c% Z1 T3 A( \4 ]; [# }! P if(q->exp>p->exp) + @% [0 [" y8 k& f# B$ j+ z {q=q->next; % `! z' ]# q; ]/ _. q- r p=p->next;9 i. x) _' g6 `/ s& E }+ y1 l/ |* g7 Q2 o; g } C/ q" K1 U! Y }1 I0 \. u8 U8 v7 c j3 ^( S& n) ~ main()) [+ {. j6 I* H% t { int i,j=0; 8 O3 ^3 Q* J3 G printf("a="); 4 y2 y- M9 W/ Z1 W. J scanf("%s",a);3 ^2 C( i" F/ V, l% e% w! F for(i=0;i<=400;i++)( F- d5 C% u Q5 l- \ {if(a!='\0') j++;}* F/ l! C2 N% {* y4 Y/ [ input(a,j);# c* y, | U& g- x" f) g4 J stinsort(pa); . [& i3 c0 i: Y printf("a="); 7 j5 H3 S; z) u. ~) b1 F$ K for(i=0;i<=j+10;i++)1 B5 \$ d8 ?% ^7 U {printf("%dx%d+",pa->coef,pa->exp);& Y3 B0 N M; s/ k5 U pa=pa->next;' m0 Z+ b7 n# e! v9 |: e }1 o& z9 d8 a) B0 K# d1 z }
分享到:  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". h9 L. W. L) r3 p2 s8 M #include "string.h"* I6 o3 P f7 m; A1 b' R+ r #include "stdio.h"

#define MAXSIZE 400 / M2 Q7 s1 c: u) achar a[MAXSIZE];

typedef struct$ j" ?: S( k; t% v- G3 a. C/ O( i { / c) i y9 M/ O+ L4 n2 _$ ?: N char elem[MAXSIZE];" z& m Z8 \3 L int top;' X: V' G, t2 P* | }SqStack;

SqStack S;

typedef struct poly 9 j" ~, {! a/ H9 \1 Q{' t( G# v( V6 d2 @2 E int coef; /*xishu*/; a3 b" r7 T- b- \ int exp; /*zhishu*/ 6 v. q6 n% A/ m1 s& D. i- C struct poly *next;$ @6 p9 q3 ~$ h+ B& V }Lpoly;

Lpoly *pa;

int cf(int i) /*10^i*/. p, V3 q! U% D* H { . k5 |3 a0 P) d- |; { int c = 1, j;4 \5 j3 m8 I% Z for(j = 1; j <= i; j ++) ; S2 I) m5 b& ^: D: m% B c = c * 10; `% j7 e% ^* A8 Z return c;) v1 W0 V2 U; H2 i4 h: I6 \ }

void input(char a[],int j) * U d0 m1 q$ ~1 r{ # U0 A( X/ J8 }6 G# D. L1 d Lpoly *p, *h, *ptr; , Z- _6 j) Z3 c, l) A" g1 G) j int i, k, flag = 0, x = 0;- i+ y: ~- O) p S.top = -1; 0 H$ A. [! O3 @ ] pa = (Lpoly*)malloc(sizeof(Lpoly)); - A4 z& Y6 _- m: S pa->coef = 0; 1 r y5 @/ X+ S- E" {4 m pa->exp = 0; % l! ~! G. H! p h = pa;% y1 z5 [3 o( d) g h->next = NULL; 0 O/ Z, v6 ~; S7 o p {3 L; z p = h; /*jianlipa*/+ Q2 N! o, T e# f. r( A ; N5 r: ]0 O0 d/ r, ^% q7 l5 C( T# f for (i = 0; i <= j - 1; i ++)& i$ @- Z% W+ E6 a' a {! x2 P5 l. I) V7 u& a0 Q( n# a0 s ptr = (Lpoly*)malloc(sizeof(Lpoly));# a' A' g; D# L% X& Z% | if(S.top) ~- n; H0 ]! p: a {% U0 g0 ]# L: P: ] S.top ++;/ G; p i6 Z! [$ \0 p& I) u5 z" ^ S.elem[S.top] = a; ( ]5 g r: ~ w0 X }7 X* }8 A" _) e+ i if (a == '-')+ B: p' `# R8 b5 x! b3 Q flag=1; 9 D9 g0 E* f0 }9 {0 H1 n Q" \# R/ c0 X% M if(a == 'x') /*fenlixishu*/6 W$ D" Z& U/ O9 m' z1 X0 D { 7 Q* ^% Z3 o1 L if (S.top==0) 7 [. e# B6 ~; O5 | { # t8 ~* F1 s+ h) i if (flag == 1)- D" p( E' O; s( l { # K0 A2 K* J6 N( S5 j ptr->coef = -1; 5 D6 Z* ?" k$ w) h1 W5 Y; ^ ptr->next = NULL;/ z9 d6 ^( J! B- P7 I0 V }+ q6 t. |7 s; Y7 Q* I% A else) [ Z2 o6 G- X, C( ~5 s { 9 O4 i! ?8 \) Z* I* ] ptr->coef = 1; * z8 l3 P' g/ i# T+ i ptr->next = NULL;9 @0 E, V' O0 |2 e } - P5 @0 P5 F7 A+ J3 L' { } 3 E$ n; T3 [) `# S; [! y1 L else: w4 `7 O) |* C6 r/ f4 i) K2 U) s {# o& p8 x }) X9 G+ _ z for (k=S.top - 1; k >= 0; k --): z/ ~! q* z; q4 f& h: X$ G x = x + (S.elem[k] - '0') * cf(S.top - 1 - k);8 ?, o# D% r& {8 C; Q8 | ptr->coef = x; : {0 }2 l, u! x" p2 \# J3 _ ptr->next = NULL; 8 b7 T1 ?1 G( k- o1 _$ Q x = 0; 1 P3 K% J: j6 _' q1 a3 ^4 e4 g } ( c& Q# C: W$ H5 g5 H3 l- c S.top = -1; ' i! l9 r# W/ z+ F/ U# F+ A flag = 0; /*clear*/) `/ K: t1 _' ^6 i! W } - A: {# i ?. k& c if (a == '+' || a == '-') /*fenlizhishu*/+ E3 e$ U* D+ M3 r { ) w3 X; p0 w, l, i# m2 ] if(S.top == 0) & R3 j8 W/ c1 h4 b& W* u6 [, t: z { ' n y4 K8 O3 @: m ptr->exp = 1;) S- z. L- R* W( w+ a7 X ptr->next = NULL;" u. r; v+ e$ u% Y& y }+ {% X( {' p8 E7 D6 E else- z) [" S4 b* x6 u2 t- n {. g7 N6 {6 n' b$ y+ l. I. b for (k = S.top - 1; k >= 0; k --)/ \3 c. l/ l6 c1 `" \2 ]6 V5 A" } x = x + (S.elem[k] - '0') * cf(S.top - 1 - k);; N6 V9 X* p! n2 O" }. W ptr->exp = x;6 n9 @3 l( [+ Y* U) s( x ptr->next = NULL;2 I: D, T& x( `, K, j! Z2 }' `5 p x = 0;& X- N' { |; q$ _6 G8 T ] }/*tiquzhishu*/1 m1 v7 {8 R7 J3 I8 }4 }, m7 P" | S.top = -1; - w, O' k6 s0 Z6 d* F" ^; W }4 X1 a% c g' S5 b3 d1 b8 l* p if (ptr->coef != 0 && ptr->exp != 0)+ @8 M9 w/ X' ^) B+ [1 m8 ] { 2 s3 T8 P/ w0 x& T/ v* G p->next = ptr;- h# o6 n/ o" z5 l: B2 u0 g. v p = ptr;6 G8 Z; F* o( V4 b% [' z1 k( H } ' K0 c8 a, ^% o& T7 a if (i == j - 1) - ?( n% _$ T6 N" s( x7 y% _ { . I6 h8 s5 S/ V8 M' o2 n9 ?' z: M if (ptr->coef == 0)$ G9 |4 D: p% v& ^% I, v/ { { ( G: K6 ~- P+ x! n* j for (k = S.top; k >= 0; k --)! u; R" |3 b, ~. N2 H' p2 r x = x + (S.elem[k] - '0') * cf(S.top - k); " {0 g( J$ V$ V" ?5 v+ k ptr->coef = x;4 e4 L+ s9 M- s" S ptr->next = NULL;$ m8 j, f$ O( U: d* l } ! ~- z/ k4 {' k6 U* X* c6 w2 p$ ~ else$ g" F$ X- H- g/ m1 g {! k- I1 }; s* m2 d9 W" ?8 U! q for (k = S.top; k >= 0; k --)% o4 t4 _) x$ p& b* j1 a' ? x = x + (S.elem[k] - '0') * cf(S.top - k);6 P+ ?2 d& Z5 A) W ptr->exp = x;* o9 P6 w/ s. m' G6 f. ?4 _ ptr->next = NULL;8 d. G6 V4 g8 R* u5 d% U3 r } " Q8 u6 M3 r |/ U p->next = ptr; & l9 Q8 \' c, c: A8 p1 `& I0 L6 L ptr->next = NULL;5 X# j6 _" g4 u$ M/ ` } : A* f8 t' c5 h% z* f& r5 Q6 Z }9 s k4 n# E' `8 r1 d5 ~ z }

void stinsort(Lpoly *pa) ' _' j1 Z8 f( y S$ Q& a9 B{3 s$ m* Z3 ]7 t Lpoly *p, *h, *q, *k; . w; S2 W/ |- e8 d. ] h = pa;" y9 M" l4 k$ D, v p = k = h->next; 1 V( f$ Q8 Y/ S8 `( I q = p->next; + R& O) Z2 r! }* Y) I: M( l while (p->next != NULL)6 v( ?6 l) B" z; H) e% T, V2 F+ ^ { : i3 C- B4 r5 Y0 K if (q->exp) # ~' b, Q8 [+ d { 3 c5 ^- A# c, B5 P- T( \" D$ p# t while(q->exp > k->exp)! T3 u4 F: X3 M% |' G0 s6 U8 X; Y( q { \0 x9 `: {6 a( Y) n, n9 A5 k k = k->next; U! ` D& T+ v h = h->next; 4 n+ F4 Z0 c" I" e" y5 H0 N0 q } : i# V# y( B. t if(q->exp)( \1 |$ b% G* [ {/ m9 r$ k, b( S p->next = q->next;- f+ `2 w7 h! P* E1 o h->next = q;5 S1 A, v5 {% V1 ~: j# q }6 m q->next = k; 7 U' u. H, L; o% B q = p->next;* ` Y5 L; [ _! b3 O! T! ` }+ m9 z" X* |# f5 b2 r if (q->exp = k->exp)0 {+ j' e$ w) q# p* ~ { & o, M/ L" l/ ? k->coef = k->coef + q->coef;8 U/ T/ G0 j; n, P& T p->next = q->next; 3 w4 c5 x3 S1 V! l( I) e q = p->next; ! i- e1 S4 A0 g% G% P8 _' Z } * n, q- Z: P) F" n7 o h=pa; : C, | L( z# _( |; t& X4 k" R( y k = h->next;+ i( M; n" w. {: T( c& q) H; _& j }& l9 ?7 ^% ]) ~2 z* H( _ 1 Q+ [/ N- d* X/ H5 E if (q->exp = p->exp) 5 b" \7 U$ g- h {9 P' @$ [4 O" B" ~( h9 u( n; X! k p->coef = p->coef + q->coef;) g! O8 s) x/ b) D, n: o p->next = q->next; 0 V/ ~1 S$ j( M" @% X( B q = p->next;$ Y, K0 q: v5 z } 3 c, w$ W: z7 v" {0 D1 O: W if (q->exp > p->exp) . N4 ]4 T! _# H5 e/ G! M# n {4 O, z' o7 y& ?! r q = q->next; $ M0 z4 f9 d! D/ { p = p->next;! R; z! E# H, ? }% z! Z# E$ B3 j9 }6 l } 0 w0 J, ]4 n& n6 p7 ~}

main() 3 @9 M$ q I' F- D+ M4 O3 ^- E6 ]{8 e( z# r {% K* m/ F$ N) ? int i, j = 0; , U3 ]0 ^$ f* P# S/ e3 t' z6 t; ~ printf("a="); 3 k S+ `$ E, A scanf("%s", a);4 C9 P* u4 H9 \7 v9 F j = strlen(a);

input(a, j);' P4 R; i4 ^3 f9 ?1 { stinsort(pa); 3 T' V1 b" e, p- c printf("a=");" H2 n B, ?% C2 k2 G4 c. {+ \% u for (i = 0; i <= j + 10; i ++) 2 R6 l; o) U& P9 r {3 C3 R k0 q3 b5 O# N( K7 @ printf("%dx%d+", pa->coef, pa->exp);8 n7 ~" x% G! G3 @+ v! j pa = pa->next;$ K0 i: f3 Q# n2 m }, ^/ }# H+ q8 c0 D5 ?! w: \! J* Y }2 ?; n+ p/ s/ W5 x6 k

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

该用户从未签到

7
 楼主| 发表于 2005-9-17 17:28:00 | 只看该作者
这是上学期的数据结构课程设计% V7 w* r" T6 `- I
结果我已经弄出来了,得了个优秀,没跟大家说不好意思' Y  y- D- V% r3 ]4 c
多谢大家给的意见,我现在水平还很差
4 ?0 `7 n- l. {+ \至于注释都是给自己看的,发到网上的时候没改,呵呵~~~~~~
  • 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 下一条

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