下沙论坛

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

QQ登录

QQ登录

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

[求助]请教各位大虾

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-7-6 10:23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我的数据结构课程设计 # p& d; X1 l3 }8 n/ K) C! C& o实现一个多项式合并,字符串输入多项式,链表插入排序1 @0 g% q: W6 U6 ?5 r" V1 g* ^ 可是我运行出来结果不一样啊,大家帮我看下哪里错了,小的在此谢过啦~~~ 5 R, i- J5 c( }" V#include ! e( n# D5 I( J" @+ {) S8 P+ K#include, w) V& E/ Y$ H) W! f8 O* T #define MAXSIZE 400 / M. L- y! \2 t' C* W( p2 D& _char a[MAXSIZE]; 9 a6 I5 I+ S, e# Y9 |1 T- Ptypedef struct{char elem[MAXSIZE];+ p5 X) ?9 {8 b# m+ h int top; 6 p! k( H/ x1 C9 I0 Y }SqStack; 0 L' }1 z3 S7 N. QSqStack S; % x; ?( f6 @2 V% g% Y5 ltypedef struct poly9 z" s5 ~5 F% ~: j {int coef; /*xishu*/ * t5 }" v! @$ d* |- s int exp; /*zhishu*/ 6 P) b: _1 {( q( H" \ struct poly *next;. ~8 K9 o* q- ?. C3 d- B }Lpoly; 2 k3 D% w- Y5 A( f4 X% Z; b1 QLpoly *pa; 9 x9 G% g/ S/ G' A. N: a ]2 C4 _" Tint cf(int i) /*10^i*/ ) G$ ?# x& z+ H3 _% H{ int c=1,j;+ `( r0 ^$ ~ s" v for(j=1;j<=i;j++) c=c*10;' X, X% K+ Q& Q& M return c; $ m6 ]) B. P( S$ I- \} 3 Q3 D0 D* y$ F* \6 f8 ^void input(char a[],int j)# f! Y u+ g0 ~7 Z { Lpoly *p,*h,*ptr;& c. _2 n# o7 {' t int i,k,flag=0,x=0; @ n& q7 I6 y1 J7 X S.top=-1; 7 x; G" p$ H: v$ r6 h- \6 X2 Z pa=(Lpoly*)malloc(sizeof(Lpoly)); 7 Q$ N$ j2 m- e% s6 i# L w$ F- H pa->coef=0;pa->exp=0; % b! V, F4 c4 z6 R h=pa;h->next=NULL;% y, a, H5 x, G p=h; /*jianlipa*/ ) l) ?% {0 H5 @2 Q8 R z' Z0 K8 A6 |& J for(i=0;i<=j-1;i++) 6 S6 L; R6 @$ H! B {ptr=(Lpoly*)malloc(sizeof(Lpoly));, Y( q8 p, q* k2 \ if(S.top9 u: Z) t5 S( S1 } {S.top++;' X. c" T" B$ z2 r9 i6 T. d- y8 M/ q S.elem[S.top]=a;0 r, \7 }0 n. b+ @, i5 J }8 k _6 g3 w) K2 _2 f. l if(a=='-') flag=1; 4 h$ j, ]+ h8 _) L/ d$ m if(a=='x') /*fenlixishu*/ 2 A1 B; S. C6 [1 E4 P, T3 L } {if(S.top==0)0 l4 O' p2 g# ~ {if(flag==1) S1 n7 F/ c, W" H5 g7 a {ptr->coef=-1;ptr->next=NULL;}. H# J3 R1 T. t else' ?5 ~9 r2 Z- `( D& q l9 ` {ptr->coef=1;ptr->next=NULL;} q/ Z3 w$ h6 g } 5 X ~5 J( Z% v4 M! e else ) c+ w. x- g6 \+ F, X+ w {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);0 c1 e, i Z9 P0 ~" `, O6 l ptr->coef=x;ptr->next=NULL;x=0;' {( l/ D8 h5 A }# g9 d8 r9 H- I/ D$ G S.top=-1;flag=0; /*clear*/4 `! I3 ~+ K2 L" q0 { }! C8 D! s5 u4 U% Z5 W) D( d if(a=='+'||a=='-') /*fenlizhishu*/0 n2 u, ?% M4 e* f2 p% r {if(S.top==0) ' V5 O, ?2 z0 m# p% i" {$ z9 [ {ptr->exp=1;ptr->next=NULL;} . k' K8 Z: `8 v3 C& o. q5 Z# M" B else 9 d0 d* B9 W8 n6 M% v {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k);7 L) D3 b( Q+ {# k# o ptr->exp=x;ptr->next=NULL;x=0; 3 I1 {2 W% s0 K+ r) ^ i } /*tiquzhishu*/9 z: L3 K2 S# U7 \% e6 H: M0 O1 H: { S.top=-1;, j' T3 R9 {* O6 C } |7 @ F, U0 p+ f if(ptr->coef!=0&&ptr->exp!=0)1 ^1 m9 D0 g+ S2 g* ~ M1 o {p->next=ptr; 4 ]1 ~+ V' g: @0 n! A. u J2 M+ B4 f p=ptr;0 d- [3 F1 o7 F; p } ' [+ e C% V7 X% O6 }* [) J$ ~ if(i==j-1)7 ]' h- S9 D( W. P- @0 u {if(ptr->coef==0) : r" V5 k8 `. L' F; R+ u {for(k=S.top;k>=0;k--)4 d$ z6 R8 U2 B* e" F& G) B% V x=x+(S.elem[k]-'0')*cf(S.top-k); # k7 r2 Q! q: L7 P) W% C ptr->coef=x;ptr->next=NULL; ! p- j% P# n. }2 e6 F } 4 _4 O0 {5 @8 w! r7 [7 K2 | else' S9 W" t$ T) _ {for(k=S.top;k>=0;k--) 6 U% F9 P6 u( A! l5 u) h( e+ y% V x=x+(S.elem[k]-'0')*cf(S.top-k); - ~0 K; i p* i$ o2 H! i O& X ptr->exp=x;ptr->next=NULL; # Z/ n+ w- M6 q, k } ) H* }- r* C4 ~# ^5 D7 d4 L. D p->next=ptr;ptr->next=NULL; , f6 J! ~0 t2 S! u8 d' N$ N6 p } , [0 P. o, N$ I& @1 {$ M; Q7 r }: A L5 n/ Y/ a/ g }2 y } X. v3 M9 \' W) t void stinsort(Lpoly *pa)7 j" x }' f& s% L$ A( X% |+ S { Lpoly *p,*h,*q,*k;" L+ t- K/ T( D" ~ h=pa;p=K=h->next;q=p->next; & ?! H) F5 b. X! L9 z while(p->next!=NULL)1 |! V0 o% b, T+ ]) D {if(q->expexp) ! }0 O2 Y6 q& g& \: B6 H {while(q->exp>k->exp) & J+ H0 V5 |. R! w0 ~ {k=k->next;" R. D; K5 M' L$ b; T0 r& k h=h->next; $ R5 G" V$ v% b } : J3 G' j; N7 U! ]: n if(q->expexp) 0 G% A$ V8 d0 a {p->next=q->next;, K& b7 e( n: M' J+ ` h->next=q;# v3 \8 D* }- }7 `+ L. E q->next=k; . q: i1 ^3 u6 s! E q=p->next;% z2 b9 S! D* ]% y" v- P0 A1 I }! l0 m, [& `: ?3 c if(q->exp=k->exp)( T% W3 Z; x6 N4 j7 s+ o3 h. w7 d) f {k->coef=k->coef+q->coef; t1 ]4 \, |0 X p->next=q->next; 9 m& j$ d9 E% K! U% W5 @ q=p->next; 2 _4 y- n! G# {0 G9 Y1 c; l } W3 F! ?8 a. Q2 v% h h=pa;k=h->next; + X, t3 e: s1 p9 d- M5 Z6 G( U } 5 p) ~( ^3 f; N* ^) C/ b6 M if(q->exp=p->exp)) K; ?0 y. Q$ L3 P) O9 ~ {p->coef=p->coef+q->coef; ' }. i* x$ I9 o. h. N4 f p->next=q->next;5 P- |3 ?$ ~/ v$ ]- |5 ~; j2 h q=p->next;, R/ `3 t' R: e Z$ i# X }( n% r# n& U5 f% T, U% O$ }! t, ` if(q->exp>p->exp) 9 S1 j1 G- o5 U2 J8 e0 z2 n3 T( x/ Y {q=q->next; ( U1 H, \8 C- Q3 E p=p->next;% Y# ^* S, r# c9 L5 k } # Q$ |8 c# t6 ?# _ }9 d- |# |, X) x8 i" T+ w }5 L* x* e. m8 C, ?& K main()4 n4 ]" z9 r- }# M6 S { int i,j=0; 9 a4 b4 O+ J6 {" u/ M, D- i printf("a="); ( C0 r& E; j0 u/ U) C+ ^ scanf("%s",a); " s& C6 E) E% i5 l2 b D" V for(i=0;i<=400;i++) 2 L \: n) L0 y }4 o {if(a!='\0') j++;} " Z$ N% a% Q* M9 V: w input(a,j); , K$ R M: v3 f/ R& \ stinsort(pa);, g& B0 K' I4 R* i. ` printf("a=");# c* A; d$ V: } for(i=0;i<=j+10;i++) ; Y" X, w# @/ y& `: e {printf("%dx%d+",pa->coef,pa->exp); 8 p0 {2 b- B Q4 K3 x; }/ n2 { pa=pa->next; 7 {6 z3 D3 h D8 H% r& c } + L! E8 [2 t7 D7 R4 e}
分享到:  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"$ r! ]9 O9 ]0 r; O #include "string.h" $ w( @2 x" B$ P2 q0 d- y#include "stdio.h"

#define MAXSIZE 400! t& T. { M( k5 C( ?8 Y char a[MAXSIZE];

typedef struct 4 e& o/ |/ @( a3 d{8 V% H: b# \7 w4 X6 W8 b char elem[MAXSIZE]; 9 ^$ Q5 P V8 m, _# s# H int top;- l- I3 ^, O6 i- o }SqStack;

SqStack S;

typedef struct poly 3 N, h5 w( A _: H0 S% G) d0 z4 m{ : x; d+ a5 X; x: j4 F2 X* h int coef; /*xishu*/! u& X0 M, F0 g: E; B int exp; /*zhishu*/+ \+ L+ c I, d8 o& n- [/ E struct poly *next; 2 \4 F! z" E! b/ M* h2 I( U}Lpoly;

Lpoly *pa;

int cf(int i) /*10^i*/ 4 J2 Z5 w7 ]/ ~+ v$ z2 z{/ f/ Y- \' H8 L# D- c" F, H C int c = 1, j;; m' R- `8 b. F1 m/ _ for(j = 1; j <= i; j ++)7 p) ?+ d) ^7 \ c = c * 10; " b j4 i5 w" W2 {2 K r+ r return c; 1 s& @7 A; r, f6 a- B3 R3 m4 H* C}

void input(char a[],int j), V# |9 m# |, H+ }& t { * i4 H$ a# V1 e/ C6 p2 w/ b Lpoly *p, *h, *ptr; * ~# p& q( ^3 {; i' Y5 @ int i, k, flag = 0, x = 0;$ r4 `4 D3 ^! V' e1 U. n S.top = -1;. t* V8 B; T% P+ F pa = (Lpoly*)malloc(sizeof(Lpoly)); ( h4 y) J4 z8 x- c0 H pa->coef = 0; 8 {3 o( W+ n( d- C0 z& R$ G pa->exp = 0;" T7 j# l: P |2 f h = pa;- r( v2 b* {) B) W& s h->next = NULL; / Q8 ~ V0 A5 u1 t) e p = h; /*jianlipa*/ 6 X& S6 @& w; G( w% M- C6 L . G; ?7 O) o' x& b" {) M for (i = 0; i <= j - 1; i ++)+ o: _' t4 {8 | {9 S$ w0 m! V: U' S- @/ n ptr = (Lpoly*)malloc(sizeof(Lpoly)); 9 Z5 ]0 z! A% y, k if(S.top)1 j' f# k5 C4 X {4 R" Y7 z) @% _8 ?; t3 Y4 S S.top ++; : Q/ s" a# K. [6 O9 k; P4 w/ y S.elem[S.top] = a;6 H$ ?- n0 N% N }- S3 i' ]4 \9 ~5 a6 {) ^# o' G if (a == '-') . _' q3 N' @6 K0 V, V) f2 f flag=1;6 Z9 v; ~- ]/ ^* n * {- c7 E7 Z4 L! I7 b! T( T, @ if(a == 'x') /*fenlixishu*/ ! m* S% _( u; j6 S% J {- P/ y5 x0 @- D" _0 ~ if (S.top==0) + l1 W- Z% z( `! N3 \ {0 y( d3 `3 U) `6 e1 v if (flag == 1) : b- v7 o' C: M% ?) i+ C P {8 o9 V/ [& @1 j# n+ g$ @* d ptr->coef = -1; 8 z! Z0 p) O" x+ i' ` ptr->next = NULL; & z5 i8 `; c/ n. S- P# z0 X& t } . H: X# B3 B+ }! f else 5 w6 n0 M. P6 I2 `7 _5 T { $ P4 J Q0 b6 [$ ]( m ptr->coef = 1; 1 O, R, X& b, d" q% B* e ptr->next = NULL; % A( V/ ~: t: b5 _ h# N7 i } 8 ?4 @6 Q; l# P3 I } 0 L( A- J( a& z, a" E9 k5 W3 x else# r9 L" L1 G, u1 @ {" N' J6 t9 w* `/ q- W' H for (k=S.top - 1; k >= 0; k --) . E( J3 \8 _" H w# N" y' Y4 Q. d x = x + (S.elem[k] - '0') * cf(S.top - 1 - k);/ V8 p, s& ?+ ?& j. Y+ [4 V4 u5 P ptr->coef = x; / B" a; V! N) u2 P y* J( T7 U ptr->next = NULL; : Q$ v$ ~5 {8 P5 b" v* g; T% j x = 0;- W9 w0 ^$ H4 t! N9 U }' A; W$ Q k6 K S.top = -1;! B& Y# m) F/ L- \* P8 u5 ]' U! T flag = 0; /*clear*/ T, @- B: c6 ?3 y9 S" K/ r } . t3 `/ g- M7 t. I) m if (a == '+' || a == '-') /*fenlizhishu*/ ' h- N6 R M" m7 B0 J7 a { , X7 p2 g& D1 L" `% z1 ]7 w if(S.top == 0)6 q. ]$ B7 M$ V9 T { . K. E) d- @, [ ptr->exp = 1; ( g Q4 o9 t1 U% `" F& y2 l ptr->next = NULL; , h+ K l0 o- }; `, F/ U" Q$ { } * n/ Z9 \" {* @ else3 I: Q# t/ H: x+ b. K9 M {( E* r, c* T: E for (k = S.top - 1; k >= 0; k --) # Z: m0 |: T2 [5 u' V! e6 H x = x + (S.elem[k] - '0') * cf(S.top - 1 - k); 1 ]) F9 l" C( ^5 g ptr->exp = x;+ d8 A. {. r, Y% N ptr->next = NULL; 4 Z+ E o/ ]: B1 j: \8 E& [ x = 0; 2 R: U9 X. L, Z) C }/*tiquzhishu*/ - a& B6 u/ w3 Q) E S.top = -1; n0 A2 ]/ ]7 g; Z$ R } * w& u% K5 l) y, r. G if (ptr->coef != 0 && ptr->exp != 0) 6 c% D6 C' P7 U( w+ K { " C: F3 [* D( O+ @# O/ Y. \ p->next = ptr;- N1 |3 {. U7 R9 k; | p = ptr; " v* T9 A# R% Z }) |( k+ S B8 {1 I# _/ T( V if (i == j - 1) 0 f* [# n$ W" i8 a" ?) ^ { * I9 u; Y2 d$ Y* V8 N! O7 _ if (ptr->coef == 0)& d0 Z* C w3 h! T/ ~' U { - f. i$ H$ |. v1 ?, m for (k = S.top; k >= 0; k --) Q4 [* H# L+ s( u1 u x = x + (S.elem[k] - '0') * cf(S.top - k);# x$ r* N! a- s6 }+ ^5 V ptr->coef = x; $ V; k$ N2 C! v H ptr->next = NULL;: f, \5 Q- @7 u) y. V. y' Y4 l }% J0 c" M1 K5 q# { i. @: h else* l5 O1 W/ F4 X. e9 { {2 s% ]7 r3 ]: b1 [# B; n' f! z for (k = S.top; k >= 0; k --) ; r. ?! t E& E u% H x = x + (S.elem[k] - '0') * cf(S.top - k); + y) p7 d- \. K- }3 v7 x( G( u0 T ptr->exp = x;7 G% N& ]; o! G* h# g ptr->next = NULL; + f* l# h$ N$ e, y5 i. R$ E } L8 \5 v& Z/ }+ \. S y: A p->next = ptr;6 }1 d4 g% a5 u* J, C0 d* z ptr->next = NULL; 5 G: c/ d* Z' m5 Z/ _3 v1 x } 0 ]( t9 C1 Y7 ?1 p9 F }: ]' b' \' _# [* z4 f; z }

void stinsort(Lpoly *pa) + b' I1 S8 w& ]" G1 t1 N{3 C0 N6 g5 p/ c& c) @ Lpoly *p, *h, *q, *k; x, h, C. R/ Q1 S' T+ Z h = pa;1 Q& x" B, Z# d9 e p = k = h->next; 2 \9 Q0 W# D7 x( D2 c q = p->next;1 x+ J8 H7 g& G. W- F$ u while (p->next != NULL) / K5 Y% [& ? m- q# L0 i {$ ]2 I) ], o. f3 C V4 L Y9 Y0 [ if (q->exp)2 R P& o B; K; s/ q {, V+ V' e$ c" c. q1 {: b while(q->exp > k->exp) " D" p: f/ ~* B { S* Z& {- f1 a7 Y k = k->next;6 [, K0 {0 d. z h = h->next;6 u( v8 {8 Q' X* J }! P1 K1 W9 A' z) R- K3 d; p if(q->exp) - l, I! b( c0 ~' w6 z( c8 l/ r4 } {2 k5 z# K. y' R5 h% p( a p->next = q->next; ( N. s) G) d! q2 @4 b, c& `- I h->next = q; 0 b6 o1 b: i( |# x6 ~: r3 u8 x q->next = k; 3 w# D6 n/ _" j9 Y& Q7 Y( j q = p->next;% t3 o/ F# V& a8 ^; N% s! ] }9 y7 L7 F* z: K$ R# x9 U if (q->exp = k->exp) 3 Y2 d7 F7 r |6 |. ~# W4 Y { 9 z: Q7 J* c% p# S3 ?8 m: h& a& t- B3 x k->coef = k->coef + q->coef; 2 v. E7 ]" o% g+ p# @' l1 V3 k p->next = q->next; % \/ b3 F- O( N2 I q = p->next;! W6 N4 z, V) R0 ]1 O% S } 5 q6 N( D4 q# d+ A$ Q0 o- N h=pa; ' ~* l7 Q1 i$ S5 c( W8 B ` k = h->next;' q# U( D' Q# H4 S6 k+ S! p% d } 2 D2 j n* J+ T \' \ W * p# M" V1 w# _6 Q) `/ x if (q->exp = p->exp)$ @ Z5 F H, ~/ b: _ {% P, c, _2 Y+ a7 d' R p->coef = p->coef + q->coef;- t0 Z n2 T; g' J3 c! d p->next = q->next;' t4 ^0 ` \2 L3 T q = p->next; - @6 e- P. Z5 \ }: q( q$ a$ ^, b) ^4 Z5 D9 L if (q->exp > p->exp)- w. b. E' y. _7 e) w- R {1 _0 R( f$ [/ E) k q = q->next; 8 p s4 c0 a! y p = p->next; - f5 f1 z, t+ h' J, B }9 P$ h) P2 ]; a+ Q& C, a9 i } 4 R/ s/ O# g, o7 s}

main() * ]5 b# }& B5 H2 [{ $ u+ M1 q7 k, f5 o int i, j = 0; ( X" K# Z: f I$ W& Z printf("a="); / p* H( k9 A# o( ^4 U: ? scanf("%s", a); 0 n4 D' j* Y: l) |7 Z3 ~ K) f* W) { j = strlen(a);

input(a, j); - ~& _/ C3 L; o, T stinsort(pa);. B3 m" `' Y( P; |* Z printf("a="); + J% B" _, C+ |6 R/ ~' { for (i = 0; i <= j + 10; i ++) & w, s& \' V+ | X( [ {! p! w3 \: E' D/ F' G E printf("%dx%d+", pa->coef, pa->exp);5 U$ ^: A5 g4 F+ ^ pa = pa->next;4 S; I5 [- P8 ^6 v }+ f" r3 v9 _( l1 C3 l0 E" ` } ( @5 ?+ k- o; K8 V' I

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

该用户从未签到

7
 楼主| 发表于 2005-9-17 17:28:00 | 只看该作者
这是上学期的数据结构课程设计7 ~  j% V  E( b" q( J( {9 y3 L
结果我已经弄出来了,得了个优秀,没跟大家说不好意思% f3 O3 A0 I( U3 C" s
多谢大家给的意见,我现在水平还很差
7 X" K1 Y5 }2 J2 Z. 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 下一条

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