下沙论坛

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

QQ登录

QQ登录

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

[求助]请教各位大虾

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-7-6 10:23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我的数据结构课程设计0 U% c* l& T8 S; Q 实现一个多项式合并,字符串输入多项式,链表插入排序' u* n+ v6 L4 H7 W1 u/ B% j% g 可是我运行出来结果不一样啊,大家帮我看下哪里错了,小的在此谢过啦~~~- U8 r8 \4 U- z5 t #include0 U5 ~) H. P3 o: T, K5 {$ c8 n #include " D( V) U* Z" ?0 q, O7 F#define MAXSIZE 4005 f, S6 W' C6 g; h/ R+ ` char a[MAXSIZE]; 9 ?; A! C& ^( b! ]; p/ jtypedef struct{char elem[MAXSIZE]; / w, W: s5 @9 g* B- L9 r int top; / M6 Y, J7 v( H }SqStack; $ K: \" r- c6 r/ f; w; |0 s/ q: f/ h9 LSqStack S; - T# H4 X! R6 @, ?# h# Y. F. U5 |typedef struct poly \8 j/ @& x: x$ C# z) L( Y {int coef; /*xishu*/ 8 a! G: R5 \' ?. P: [8 L7 R int exp; /*zhishu*/" d: ]& Y$ A6 x struct poly *next;5 p* L9 W" h+ ?. W }Lpoly; $ N5 l4 A% o0 E- X s nLpoly *pa; w0 W! j' ?0 h9 O* S5 tint cf(int i) /*10^i*/ 1 ^. \* x5 R& U3 [: [" s% w/ [' {{ int c=1,j;1 E. }( W! z7 j$ P for(j=1;j<=i;j++) c=c*10; 4 D$ x6 G; c/ T d return c; Y5 F9 y+ G* ]6 z1 j4 C$ O$ d4 P }. Y e* j$ P; g void input(char a[],int j) 3 d4 U! t1 P' {8 F6 h* T1 d) y{ Lpoly *p,*h,*ptr;4 A" H3 e9 V {$ X# K: B% { int i,k,flag=0,x=0;! k; ~0 C$ J6 K( d0 u) X S.top=-1; 7 o' C" {4 L r7 N pa=(Lpoly*)malloc(sizeof(Lpoly));# u* [: R& a/ E pa->coef=0;pa->exp=0;9 T+ z- I. P) @$ c h=pa;h->next=NULL;7 T5 U( i5 ? A# K p=h; /*jianlipa*/' T8 g2 s4 {3 Y e' a9 Z for(i=0;i<=j-1;i++)1 g" y, t+ y+ \3 C; y! R6 v {ptr=(Lpoly*)malloc(sizeof(Lpoly)); " o. S9 ^/ J, E' J, C if(S.top. k- [9 g5 J+ U! |" d* {& T {S.top++; 1 c& d0 n- G# y# ~8 a& P S.elem[S.top]=a; o( Q2 i5 k7 N& N; H9 P! H/ e! y; {9 M }, V1 W- A8 V% d' }% L( x if(a=='-') flag=1; + |# @* z* i) ?7 B6 L3 C if(a=='x') /*fenlixishu*/$ y" ~, ?8 T# \ {if(S.top==0)3 ^ o z# R+ C& {% g0 z {if(flag==1) - k% H$ P6 |4 F# c% u {ptr->coef=-1;ptr->next=NULL;}/ W7 f% j3 n) j" X else2 [& c& c, `) V0 W" ~6 J {ptr->coef=1;ptr->next=NULL;}) b/ E0 q* O* b0 K8 V& D8 D! H# y }( P2 q( B; ]8 P8 q4 u9 r else * l4 _1 E& i% u9 ?. `, e {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);5 @" O/ p/ K' W- u( L ptr->coef=x;ptr->next=NULL;x=0;' ]" K6 b$ _; W' R% {0 i } m) ]# C$ \( Y* n S.top=-1;flag=0; /*clear*/6 f6 ]+ y+ B$ ?9 j; ?% H }6 t* D* p2 j; d% j1 y4 M if(a=='+'||a=='-') /*fenlizhishu*/ 9 X" X+ }' n9 _3 h" [ {if(S.top==0) + ~1 l, S0 c6 P. z( G {ptr->exp=1;ptr->next=NULL;} % l- E9 Z# q* b4 t& r& N! e8 Y2 K( e& | else9 G+ O1 b1 Q9 T. a {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k); + ~2 [% `/ e# S0 B ptr->exp=x;ptr->next=NULL;x=0;, Q/ ~5 T: D) ?! ~: L& G } /*tiquzhishu*/ & z5 x0 x# V9 o" p2 v% n9 |+ e/ d S.top=-1;1 N+ }( l: Q) q# [. ] }) k- F6 X* c4 |9 i if(ptr->coef!=0&&ptr->exp!=0), d y( L: G( _- O% L' a {p->next=ptr; ' i6 v6 L6 W, E% f+ n% H3 g: T! _ p=ptr; / z4 f/ k! A0 c } % I9 h' |5 N `8 ^" F+ d( r6 | W, y if(i==j-1) 4 a# i7 k% `6 X0 I9 c8 h' ^5 U {if(ptr->coef==0)( c5 N" u0 z8 A, M' k {for(k=S.top;k>=0;k--) 7 |- i- `$ W9 d1 L4 D: ^ x=x+(S.elem[k]-'0')*cf(S.top-k); 0 r! ?6 g3 H+ g ptr->coef=x;ptr->next=NULL; + T; r% r; u! v9 y" l1 ?* y }0 [: w+ H6 B' f! ~# z/ W else : B' y2 U' p& H8 e/ q% D l9 ^4 i% K0 f {for(k=S.top;k>=0;k--) ! c/ k) Y9 a; m% S" l% _ x=x+(S.elem[k]-'0')*cf(S.top-k);7 ^- d6 N6 `. X ptr->exp=x;ptr->next=NULL;) X3 i6 k4 m+ U; m! p) b$ ^ } 5 f: L1 W/ f- U* r% s0 [" f' k p->next=ptr;ptr->next=NULL; $ m& x; j3 H! r7 ?' h4 i8 _ }- B2 l% ~2 s2 Z5 e! ]& J }" S* y* Q+ j- W6 c% N) L& \ }7 v, V' u, r- [) c- j; c/ J void stinsort(Lpoly *pa)! J% p1 U" c, W3 f4 o5 u6 @6 Q { Lpoly *p,*h,*q,*k;+ x8 \' M6 a ?# V4 \) s" O h=pa;p=K=h->next;q=p->next;3 ]# B7 B, L+ a while(p->next!=NULL) " L( g5 t# n7 Z8 W, O3 q {if(q->expexp) T- j2 {" B* P: \, i" v( ] {while(q->exp>k->exp) : f8 O k$ H' F% ] {k=k->next; : ^7 Q8 T- F3 n$ A' s* X2 B" C6 ] h=h->next;7 U8 w& Y* g2 j# x$ G' b) z } ) z% ~& n. c: Q if(q->expexp) * k* m; R0 _! H; V# S2 R4 c {p->next=q->next; 3 I# G$ u$ z# k5 l' y8 W8 f h->next=q;1 V- M" l: S! O& ?: X$ p( ~; U q->next=k;) {- r. t. s5 q+ n& L9 }' ` q=p->next; ) m4 w* j& a( Z0 ]: u2 }) ? }' T" U: f9 o2 b4 V if(q->exp=k->exp) $ w( L; Q' @4 u/ ? {k->coef=k->coef+q->coef; " h% O' ?& }! d3 e% o p->next=q->next;/ @! B( e0 r4 { q=p->next; ( [. V; f" ]* p3 U: s# ?$ C$ x$ h } 4 ^6 t2 p1 P" c h=pa;k=h->next; # R' _5 Y8 w4 W } : a6 B& l/ n) m" c if(q->exp=p->exp); r4 p) j! ~) T9 \0 y8 a! h4 { {p->coef=p->coef+q->coef;1 t8 w* I: S2 K X0 t p->next=q->next; 5 k1 g ?* r {3 H+ U q=p->next;- I n! a8 e) j7 V2 u/ u }% c2 M6 } G) P+ S+ [+ Z if(q->exp>p->exp)0 t" r5 C5 f/ \ {q=q->next; ) ]' i# Z% c2 h p=p->next;$ n3 H1 ?/ }! t# P5 ~3 k } ; o9 v& l }" g" [ }( Q( n- f+ m! |0 w } 4 v' m' R) I$ s! I2 C) [main(): b2 p$ I, z3 {) s { int i,j=0; 5 T8 Q0 ~2 z$ z) ] printf("a="); , A. u+ X7 \0 F( P0 s" ] scanf("%s",a); " P$ S5 N: k& V1 g I for(i=0;i<=400;i++) & B8 M2 x) N! J& S& n9 s {if(a!='\0') j++;} * y7 _' ~/ w6 B, I$ D1 J/ ]! i input(a,j); E6 C) I6 \% r stinsort(pa); % ~) L! R4 x& w7 ? ` printf("a="); 2 `" F8 @" U, x7 g for(i=0;i<=j+10;i++)2 R" K1 l, L* M: c0 _3 h {printf("%dx%d+",pa->coef,pa->exp); ! w6 O* k2 L* X T$ d pa=pa->next; 1 ?* e; Q! k. l- r& Y { } 1 v: y* d8 a8 ?3 U; v3 M5 E6 W* {}
分享到:  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" ( S* u! L) c& E# d$ }0 A#include "string.h" ! n( V# ~$ s4 E4 L$ ~#include "stdio.h"

#define MAXSIZE 400 ) U9 i7 Y% D! |; w& l7 [char a[MAXSIZE];

typedef struct ' x# Y/ o% y# @ `{/ D5 _' q+ U/ V+ c char elem[MAXSIZE];( Y2 X) ?- `1 c% k) S/ | int top;: P. i( \! q4 o' u3 s0 {8 U, r0 z }SqStack;

SqStack S;

typedef struct poly! B w" U" {& y3 U4 I c {2 _( n/ t7 T0 Z- l) A( m int coef; /*xishu*/- M0 K# _! a+ Q( h int exp; /*zhishu*/# h1 {4 y1 h7 |. W9 F) \. O" N struct poly *next;+ O& _6 f- `2 ?" i. O }Lpoly;

Lpoly *pa;

int cf(int i) /*10^i*/ 3 V% _7 R0 H% @{! N( `5 U& E# v* k int c = 1, j;* f/ z7 p* Z* H7 Q0 H. L for(j = 1; j <= i; j ++)4 H5 {8 m( n2 L% k; m3 S c = c * 10; ' F5 n; x$ L0 K return c;% F2 A3 z, g5 ?) r) D }

void input(char a[],int j) : c% o5 @8 k! z0 B4 x4 |{$ ^3 p" g4 E* o* t( Q4 d Lpoly *p, *h, *ptr; 3 Y" ]2 [; v( x. q5 i int i, k, flag = 0, x = 0; * Z0 ]( ~' y1 m: Q S.top = -1;0 S. M4 e ~9 B6 h& [ pa = (Lpoly*)malloc(sizeof(Lpoly)); " @2 N% t0 J2 s: k pa->coef = 0;# K% X# S% f! m; g# E9 G% ~# A& r pa->exp = 0; # u5 k2 f& a7 {9 n, ]# Z: A h = pa;+ [; a7 @& Y3 \4 ^% t% `* W% j h->next = NULL;& E' {4 H1 z1 h& x6 V5 y. ` p = h; /*jianlipa*/ 9 W" j. h4 V+ N0 E- v" R! j 5 _5 Z0 @% H8 H4 j7 \% H for (i = 0; i <= j - 1; i ++) ' @3 ]2 |# h6 ] [ s8 ? { . F* z/ e3 u) \5 x ptr = (Lpoly*)malloc(sizeof(Lpoly));3 R2 |) u' _. g& P$ o if(S.top)$ |* H f5 \6 v* ^ { . u( [4 g6 x0 n+ Z0 V S.top ++; ! I; n2 _, t+ |1 b) B2 x S.elem[S.top] = a;/ v2 C. P5 [" j5 e& h! v [% b } & B8 p1 i. M( R7 n if (a == '-') B6 L( m( [1 o& p flag=1;! ~+ V( }7 \8 |) b9 s 5 j. |( C. ?5 d& } if(a == 'x') /*fenlixishu*/ ' R/ I. u; @ I {' f$ @; W$ Z$ |% ?$ X$ R) }: \ if (S.top==0) , |2 _7 G7 q# h2 V$ ` {9 C# r. J. W. C2 e( n% ^ if (flag == 1)" V2 |0 T& G% }, \9 F6 n {+ b8 y. Q! T$ X ptr->coef = -1;; s7 D9 H. e$ ^8 I1 F ptr->next = NULL; $ B# t' g4 o; a }3 a: q8 S8 s8 A7 z. y/ D else3 Y" Z% a- o$ L {3 K7 {9 Z {' K0 m3 P ptr->coef = 1; " @! `5 r; o R, f ptr->next = NULL;0 r. h. w8 v! X }" _9 } C1 ]/ D) i* X9 H6 A. g9 c# N; ^ } ( L; q. s/ N& J+ b else* W: A3 d$ U2 T {& x* V4 K E; O* Z" U for (k=S.top - 1; k >= 0; k --)" X4 M# G% R- Q x = x + (S.elem[k] - '0') * cf(S.top - 1 - k); 5 I$ K+ G1 j1 ?3 K1 `. m1 } ptr->coef = x;; x: y6 J/ k6 {5 `. p& a( J ptr->next = NULL; * E" o6 h5 M1 D. I1 a) r# S. i0 {8 k x = 0;7 T, d) K+ ] M7 |4 J- P/ {% d5 J } # ?9 T; B3 `5 [) s- l S.top = -1;& _! M6 B2 v* n1 T- a$ m flag = 0; /*clear*/ / n% w$ h0 }; Z v1 R8 L' _+ g }: S% O( s; |' m g2 ` if (a == '+' || a == '-') /*fenlizhishu*/ 9 s5 Z: N4 d, r {9 c+ [5 a% Z8 t1 U) s if(S.top == 0) ' e: L9 W' e Y {6 E, P {- Z8 c+ U1 ]1 ~! H* H ptr->exp = 1; ; Q( `- U/ V2 o0 C ptr->next = NULL;5 |: j! l( l" B: Z3 E W) N# [5 b0 r }5 D N' P1 J. t( ]2 J0 c" L else # d. ?0 }6 \% W- {* Y/ `: u- v {2 S# s% R; P# \ T) {' j( Q for (k = S.top - 1; k >= 0; k --) % Z/ G2 k8 n' o) j6 K x = x + (S.elem[k] - '0') * cf(S.top - 1 - k);' l- M# k5 M; c" t: l# N. @ ptr->exp = x; ( P. s3 S- o2 I: |# w r( F4 N4 V5 @3 N9 Q( R ptr->next = NULL;1 \& J" A) B3 |8 A/ k x = 0;3 `% X6 {7 k- _9 D2 R }/*tiquzhishu*/. X" b& |- ^3 h9 W R S.top = -1; * t; ]" f$ h5 G; N } ) I/ J, U2 v* `. k" U3 d1 O; D if (ptr->coef != 0 && ptr->exp != 0)- @7 _2 l6 J# S4 d' q. L {! K/ d. o7 d& R) |. k5 n# Q6 ]* W p->next = ptr;/ u: U. U+ W( m7 z p = ptr;/ e& l5 P$ Y) v6 e. K } + w6 M* H; R y# b if (i == j - 1)" A/ x/ I0 f5 e1 i' V6 P {3 z( p7 W2 @/ Z$ K if (ptr->coef == 0)1 ~* Y! l4 Y5 L) Y/ Z& [8 X0 f { : u7 q M/ N( x' Q* \ for (k = S.top; k >= 0; k --) : ~' g8 z+ u! R/ |6 u* E/ M x = x + (S.elem[k] - '0') * cf(S.top - k);. t0 R% X" z& Q) W# U0 p9 g: ?/ B ptr->coef = x; ' V3 B5 P2 S) q8 ?! \8 a ptr->next = NULL;$ g1 o# i. j* B6 R0 _ } ; |: Y( m+ g1 P4 t( C7 v" A else( F- U/ ^8 [( j5 E4 T, r7 I { ; R2 `. G5 V" }8 Z ^" U for (k = S.top; k >= 0; k --)0 ^ u5 f0 V! C7 p2 N8 N2 w x = x + (S.elem[k] - '0') * cf(S.top - k); 0 \7 h; p4 o+ T$ K$ O0 Q- V) n2 s ptr->exp = x;0 ]) x v( u' F; {# o4 r ptr->next = NULL; & I9 d$ i8 _ X& F8 O4 C }( X3 s% c/ ]# O! R2 S& l! S p->next = ptr; 1 U g+ H# f, A( }8 p; @3 h' Z ptr->next = NULL; 8 q2 w+ Y1 Q+ f, d+ ]( S } + a& N% Q6 t3 L: u2 o; F7 v }6 W* b$ X5 |8 H# O) N; q# a }

void stinsort(Lpoly *pa) . M1 Z {2 G( }4 T' h6 V{ % q+ U4 s+ l* @% @0 J Lpoly *p, *h, *q, *k; 0 j+ l( m4 B# _9 {0 Q' f h = pa;, F; c* U s9 W p = k = h->next; ) J6 j, r/ S5 O, O% i q = p->next;! c, u& A* U0 x: j while (p->next != NULL)$ }6 P0 ?5 i0 O# ?' Q9 ?& f {8 G, R$ N' Y; S. q if (q->exp) 0 `% x% g4 Y/ d( O) A+ u$ Y! Z0 A {+ b' Q" `% n7 C0 Y9 }; U% [& ` while(q->exp > k->exp)) v4 G5 z( E' ^$ b2 ?: Y* y8 s {/ n7 G) \1 h: i8 F* A* c2 }- g k = k->next; 8 R2 }1 Q( `& z. X h = h->next;8 F0 e" d5 u5 v5 y$ g4 Z }, j+ D) p+ e5 E4 B) \/ W1 [9 e if(q->exp)( i6 P( F1 o/ _/ M; m4 T' [. }; o { ; K( E. U% ?4 U9 B p->next = q->next; 0 Z1 r) `+ g1 q! V; O+ b h->next = q; / B! \' s3 w5 S4 t5 E- Z B2 J0 J6 V: S q->next = k; % ~- N/ Y3 f& b. |: m q = p->next;/ W/ p% A y- w. Q } % }/ @8 \( E8 H2 k% b+ T if (q->exp = k->exp)- S8 f8 X+ ^- C {0 i" Z- ]/ M" w0 B k->coef = k->coef + q->coef;9 q5 F# P5 [% _5 @ p->next = q->next;& A4 S k; v d( V1 ^' D q = p->next; 4 E3 |4 P+ d3 L } & [& U5 f2 _! q* c6 c/ r* F: ?9 R h=pa;0 r4 _' O6 E6 | k = h->next;+ b1 {, ?( Y6 W, H1 l. W } 1 ~9 A5 T4 Z G8 P 1 Y$ t6 U' N- c# r if (q->exp = p->exp)1 A [, S9 _9 d$ \! A, W! v% I {+ b- j$ [* H$ J$ C p->coef = p->coef + q->coef;6 v0 l6 @% V/ ^4 j% U$ N2 P p->next = q->next;- X! z m9 p( g& Z" a% B q = p->next; & f5 U" k2 O/ r x9 _8 K }8 |. I2 ~4 W7 c! K6 V if (q->exp > p->exp) 9 }9 O9 a3 d, Y8 H6 M* f. y {7 V6 W5 ~% G* o8 }8 b q = q->next; 9 Y6 w0 z2 t7 O% S- {" p! U p = p->next; ' [9 T" u* w2 q } 3 t/ W' _7 m/ \5 O }1 d/ i; d1 w( ^2 r }

main() / @5 l2 J( y5 {7 d/ t% O1 y{& I6 o& |& q( w2 H int i, j = 0; 3 y8 c2 d- ]0 u9 K# U; p1 X! t printf("a=");( O, V8 h" s" u scanf("%s", a); / F+ S6 K e2 U) g8 Z9 J. { j = strlen(a);

input(a, j);& I; I' C0 x+ d8 P( O stinsort(pa); * T y8 {, n4 k printf("a="); , D8 L: C6 V% P% i; [- e for (i = 0; i <= j + 10; i ++) $ K5 H, v! W' E* E z { $ L; C9 t# }1 Q6 _5 O8 p8 I printf("%dx%d+", pa->coef, pa->exp); 9 g* e% n( m2 J" C pa = pa->next;& _$ d. X+ p) \- { }5 @; b! {0 ], R- D9 C6 B }2 G( p# F/ H% g0 g8 a3 o, C

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

该用户从未签到

7
 楼主| 发表于 2005-9-17 17:28:00 | 只看该作者
这是上学期的数据结构课程设计* s7 n" w% f7 R, v2 X) q
结果我已经弄出来了,得了个优秀,没跟大家说不好意思9 E7 |' P3 o$ S
多谢大家给的意见,我现在水平还很差9 k9 ^- @3 y  Q/ U
至于注释都是给自己看的,发到网上的时候没改,呵呵~~~~~~
  • 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 下一条

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