下沙论坛

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

QQ登录

QQ登录

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

[求助]请教各位大虾

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-7-6 10:23:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
这是我的数据结构课程设计/ [: ]: Q' y; O j 实现一个多项式合并,字符串输入多项式,链表插入排序 ; k; F! @) A& L; A- F5 p" h可是我运行出来结果不一样啊,大家帮我看下哪里错了,小的在此谢过啦~~~; u, r+ t. t" ?8 p2 y #include8 D" T2 k- t! f #include# m! r7 ]4 e- f' M y' c* `# i #define MAXSIZE 400 / o" f" j; ?3 d; \/ E; }& y* A; {9 m7 Zchar a[MAXSIZE]; 3 _3 Z% r1 V( v. I% Xtypedef struct{char elem[MAXSIZE];# c4 J6 q( h8 }3 k int top;. R+ ?, f0 Q! m" | }SqStack;& [4 L% |5 d; \1 Y+ d6 f S SqStack S; ( T* A+ I) r8 F d9 K5 Itypedef struct poly, k5 D. n+ u2 O {int coef; /*xishu*/ 7 `/ N' e) y5 w int exp; /*zhishu*/9 ^$ h- r# C; h' K& @ T# m: T; S* u- z struct poly *next; " Y4 v; i6 C3 U) m9 r6 j- v }Lpoly;8 [& V& @% n0 Q: n Lpoly *pa;3 h: [8 K3 `; P$ o/ e& j ]$ H int cf(int i) /*10^i*/0 H% {1 @( P* I* `' {" | { int c=1,j; 2 z+ Z! R) @3 |! D$ M( n for(j=1;j<=i;j++) c=c*10;& b7 `# \( P' f& Z- u8 d1 i6 z6 e return c; 0 D6 a2 B7 z3 U} % }: f" r) |; ~& Q( g/ Svoid input(char a[],int j)( ]3 T& Q/ d3 t5 y& N8 l* V; x8 H { Lpoly *p,*h,*ptr;4 q: A2 d. J' @6 j int i,k,flag=0,x=0; # q3 W) c t8 E S.top=-1; R' y' {5 g! L: f% ^, y pa=(Lpoly*)malloc(sizeof(Lpoly));2 k J1 }' Y$ n: [3 b# z. e8 [' U pa->coef=0;pa->exp=0;, X- D: W5 c5 A5 Z' S) f, u h=pa;h->next=NULL; 0 ^* O4 V8 u! e4 ~$ S; S; K8 M p=h; /*jianlipa*/ 9 ]0 w, N/ C9 G) s1 I for(i=0;i<=j-1;i++), L7 {+ u( V% D$ p' p: o0 O% d% _ {ptr=(Lpoly*)malloc(sizeof(Lpoly));! ?- F: P+ a) H6 c- D if(S.top# z8 t1 u- |- @ U+ ^ s, o {S.top++; 4 s% _. N4 }5 y! g+ A, a6 f S.elem[S.top]=a; 8 O7 s" f4 A! o" a }3 R" {2 d5 L$ I) Q, B! P if(a=='-') flag=1; / v F P ?4 @. A' s1 M if(a=='x') /*fenlixishu*/ 1 ^2 ^. c! G8 l! |4 V {if(S.top==0)$ z, r3 N9 b: P9 F) i {if(flag==1)" V1 c7 I+ G$ G( ~: ^1 b {ptr->coef=-1;ptr->next=NULL;}; h7 \8 s0 `6 \& e6 c$ A else ! s6 ~, ~( S" R1 E! ` {ptr->coef=1;ptr->next=NULL;} & T/ B% D' W. V: l }9 n% s, w5 u. I7 S else$ J) }7 b9 A' z* s {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k); 4 w- a& t7 J, _2 M7 j2 ^ [# [/ P5 W ptr->coef=x;ptr->next=NULL;x=0; ' y8 J5 r b3 [# I } 0 ~5 K+ }9 q; x$ {* c- E9 p S.top=-1;flag=0; /*clear*/ & ?# ?/ O) w+ p. d9 K } 3 J- N6 O. { a if(a=='+'||a=='-') /*fenlizhishu*/" P: z3 ?. ^9 A* f6 _; l+ @7 e7 Z {if(S.top==0) & o- ~/ k$ A3 {6 U! y) c2 D {ptr->exp=1;ptr->next=NULL;}. a7 ^$ c8 y/ L- A$ J1 B8 b$ v else 1 C; g, R; i* ]! u$ G3 g+ `* ~3 Q% F {for(k=S.top-1;k>=0;k--) x=x+(S.elem[k]-'0')*cf(S.top-1-k); # d8 Z* q u* d! Z3 V4 T B, E ptr->exp=x;ptr->next=NULL;x=0;- @1 h2 X& O7 V* G! @1 i+ j } /*tiquzhishu*/ 8 Z9 ? Q+ h* A; }: k3 j/ a S.top=-1; ! z+ x2 \. R9 ~3 }7 [ } ( d% Q8 F+ t' R" @ if(ptr->coef!=0&&ptr->exp!=0)+ Z4 ~* M; X, ?8 E8 B1 X* }0 R {p->next=ptr; 0 p( C: [6 v8 m g p=ptr;" V0 b' {! K+ Q3 l3 U, L6 n } 1 i: A1 z6 u1 H- q2 J$ e6 W7 ^ if(i==j-1) ( \4 ]4 O8 s- J/ H {if(ptr->coef==0) ) `: B% }" D- t3 V! [ {for(k=S.top;k>=0;k--) T' E0 h0 ~2 C2 }" J$ \ x=x+(S.elem[k]-'0')*cf(S.top-k); ( |9 X: W: H8 e ptr->coef=x;ptr->next=NULL; . n* |4 Q5 g L, ]* {* O! B% B }1 N' x( B" V. G3 X1 K else! z$ N* f, N0 [& I9 y {for(k=S.top;k>=0;k--) 7 W6 j2 o7 U0 a2 [: h% l4 @) L x=x+(S.elem[k]-'0')*cf(S.top-k);$ ~8 a& Z: W0 ~# [ ptr->exp=x;ptr->next=NULL;" S* z& \( e W } : o9 K( H. f. t: J6 w p->next=ptr;ptr->next=NULL; , K: r5 h4 T& J/ [; O( i7 O }1 r2 n1 y8 p1 Z3 q6 K# r+ H }: Q. c: l y0 q# B }2 e* v: L7 E9 O2 T0 |7 e, n4 t9 a void stinsort(Lpoly *pa) , I z0 Z8 I* F0 |+ c7 u* C{ Lpoly *p,*h,*q,*k;8 m& m# x( e+ y {, m( {/ c" B h=pa;p=K=h->next;q=p->next; * I$ y( B* h* H! M! Y2 d ? while(p->next!=NULL)9 @9 S' }4 t9 m {if(q->expexp) 7 u/ w0 o2 S0 E0 {/ X: k: O {while(q->exp>k->exp)4 w: f) ^: D0 H/ }; z$ V5 J {k=k->next; 9 Y& y7 q5 ^. z/ E1 d r. q h=h->next;( ~5 w4 o3 J. Z( n }5 C, U# S% ^3 r: @ if(q->expexp) i6 K: a* y! l( i" Q, {4 W0 e, n {p->next=q->next; 6 g5 Y, v# A) z% N& @* m, A h->next=q; 4 L% {+ `5 u( q" g q->next=k; e- T9 M. [4 y8 `: [" s6 B: ~ q=p->next;- F6 C% {4 p2 [4 \+ _5 a }$ n7 c3 h, V( t$ W! |, } if(q->exp=k->exp) 9 }; ]2 a* J( _( X {k->coef=k->coef+q->coef;. R" w; `2 S& `" H p->next=q->next;8 a; w& x2 R: ?4 j# n5 T% m1 n9 A q=p->next; ) P% Z% W' C9 P5 N t, Q }+ x5 g& K5 P- C) O) }" p% R h=pa;k=h->next;" H- x) C# V2 S% Z+ L. p; D2 I } A% {! z# t: c6 l# B if(q->exp=p->exp)2 e2 l1 d+ ], j. c k; } {p->coef=p->coef+q->coef; $ x. W0 Q$ N. m/ z p->next=q->next;) |5 s, t! m2 M8 Q6 N q=p->next; 3 } I2 u1 i5 m; o" U3 d }9 a$ `- a3 I% C" h if(q->exp>p->exp)$ }- l( d& |* D {q=q->next;$ R/ g; }! `* G- V6 P! ~7 ?' e8 V p=p->next; ; c$ \/ z! S4 o; S/ G } / n# G' l* W1 g- h3 J A9 z, d } 7 g0 Q+ a1 L9 r} % S" B8 W$ p* l* u" @9 Mmain() # `" v3 @) _: [ \/ Y, Z4 ^6 G{ int i,j=0; $ c8 K/ {: b( i9 { printf("a=");; _1 G- u# I& A* t scanf("%s",a); . E2 u( z4 [) F# S for(i=0;i<=400;i++) 9 t* q7 N- s8 c, D0 U% t- X. _ {if(a!='\0') j++;}; f. T0 B0 [5 H9 u8 m# y3 D) Q$ l input(a,j);7 W! n+ `1 H' [# I/ n stinsort(pa); 3 c7 b+ U9 n6 a1 F* l$ b' G printf("a=");8 ^0 p% M' Y8 d2 r& h for(i=0;i<=j+10;i++)- a! a$ |5 Q6 I+ i4 Y! x {printf("%dx%d+",pa->coef,pa->exp); 6 @ j0 t+ m( k# ^! g9 q pa=pa->next; : f& F/ o% b) f9 ]- L+ a) Y }3 O8 Q7 O7 U9 i4 z+ i$ I5 y }
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩

该用户从未签到

10
发表于 2007-3-17 00:45:00 | 只看该作者

it is too hard for me!!~~~~~

该用户从未签到

9
发表于 2007-2-26 10:52:00 | 只看该作者
老帖,一口血就出来了……
  • TA的每日心情
    开心
    2023-3-31 09:11
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    8
    发表于 2007-2-25 14:06:00 | 只看该作者
    全还给老师了- -想当初为考试忙这忙那的

    该用户从未签到

    7
     楼主| 发表于 2005-9-17 17:28:00 | 只看该作者
    这是上学期的数据结构课程设计1 S6 i& o8 m' X9 C5 o
    结果我已经弄出来了,得了个优秀,没跟大家说不好意思! E& x1 j, [4 I9 c, h4 Z
    多谢大家给的意见,我现在水平还很差
    1 d# w- m7 s, E. }- F至于注释都是给自己看的,发到网上的时候没改,呵呵~~~~~~

    该用户从未签到

    6
    发表于 2005-7-28 09:43:00 | 只看该作者

    #include "stdlib.h". ^" l8 p, q' v! Z I! Y #include "string.h"5 G8 Z0 s( m+ Y0 D+ Q #include "stdio.h"

    #define MAXSIZE 400 8 Y( p2 [ u9 p( l4 _char a[MAXSIZE];

    typedef struct 7 \: T7 H4 N9 T- ~/ C" F{1 q% i( s0 `6 w& ~ char elem[MAXSIZE];1 C+ ~) Y* y; E6 q7 ]6 ?; V; F, K int top; & I& c5 B2 e2 c% m}SqStack;

    SqStack S;

    typedef struct poly' X5 a3 H5 B4 _$ d { 6 V8 H3 L/ K9 J/ y0 t: D+ a int coef; /*xishu*/; \$ w( j, t$ n# S int exp; /*zhishu*/ 3 r/ L' X A) J5 C struct poly *next;5 M+ N4 I2 ^, m7 z" e' K }Lpoly;

    Lpoly *pa;

    int cf(int i) /*10^i*/ 7 a, F2 {. R- _2 ~{ ; `$ P4 t& R: A' ?0 T) Z8 V int c = 1, j;" }; W' q0 j. `& K3 S6 U$ ` for(j = 1; j <= i; j ++)$ I) U; e6 \- S6 w. \ c = c * 10;6 g: P$ ?3 P0 n return c;0 z, M+ f4 }, a$ ~ }

    void input(char a[],int j)' U2 S, ~. S6 e, a" e1 R6 A { . V, B7 s5 w4 I7 F5 q( v2 N Lpoly *p, *h, *ptr; 4 I% c8 _7 D, V. p; } int i, k, flag = 0, x = 0; ) I2 h6 I$ l( c5 c9 V/ c S.top = -1;, T" l/ ]( I! n( |9 q9 ] pa = (Lpoly*)malloc(sizeof(Lpoly));2 n. w1 L$ \, P0 L9 Q" }) x pa->coef = 0;2 }8 z2 l* _$ a+ R! t7 H# F/ k pa->exp = 0;' {8 L! |$ Q- W. r h = pa;) T( b* i$ ]+ |4 G( j h->next = NULL; 0 ^" x! K, g, V$ k p = h; /*jianlipa*/ 3 J/ g1 R9 x* `& T + d8 _! s! {. a- {5 n for (i = 0; i <= j - 1; i ++)& A$ s6 M) u* X { ( y, z; J4 z& C: ]$ E ptr = (Lpoly*)malloc(sizeof(Lpoly));5 {& r; h" p; A if(S.top)0 Y* l* P" L, |' n { $ a" e# O2 o$ O S.top ++; ) l* I0 L: q R S.elem[S.top] = a; & D* `# U" J2 V. U }, b* Y* x4 c& A$ u if (a == '-') & O; e U' k, N; e9 V8 P/ D+ N1 _ flag=1; ' d- V6 @8 Z0 l- O3 H! b 6 X r- R, y8 K0 s% U if(a == 'x') /*fenlixishu*/- c! D& B, q! a' p* i% d$ t {7 ^0 w$ t0 A. o! k if (S.top==0) ( r( \2 Y2 ^1 K& M {; r6 C0 w3 J( y, |2 m3 G6 S5 j7 L if (flag == 1) 4 @4 q: l( T! T3 i {0 R9 @/ J g4 c+ `2 T2 X7 u ptr->coef = -1; ) V5 X% B# _& I! c1 }5 J ptr->next = NULL; 4 i% ? N# l/ c0 Q* P6 `, R }/ b+ A" ?; `5 M1 y( _% [ else2 T7 X* Q- y' B: A6 z7 L {1 V4 A, L& P; l" A8 E# K ptr->coef = 1; * W- Y9 _9 u& ]2 x ptr->next = NULL; 3 Z( Z/ ]8 b8 Z4 e' X) j } ! w8 y, ~# a" H9 `# T }. a$ b6 c6 Y8 ` else ' d4 Z, ]/ z; O7 x5 Z { 7 |/ Z" F! f* f) ^. V( x5 r( o for (k=S.top - 1; k >= 0; k --)# p8 e6 O4 n, n; a* M$ ?/ A x = x + (S.elem[k] - '0') * cf(S.top - 1 - k);3 I. W: P9 y1 r6 j ptr->coef = x;7 }' n. W; B) i, _ ptr->next = NULL; 4 |3 A# F+ I$ J" C \! K/ ? x = 0;- P b: D) f {* `, v } 7 ?# c) E% N' f% l S.top = -1; i, a" c O( | flag = 0; /*clear*/ % h1 ]) k7 p, u5 a7 E* \1 h' Y/ u0 G }* A7 L% v4 T" c# A if (a == '+' || a == '-') /*fenlizhishu*/# D. ]' N, C7 C/ C$ r+ r6 } { ! b- M# E. s' o5 h: Y4 f if(S.top == 0)+ Z" Q$ @# q. @ { , F5 }2 }" c' [+ U7 e. [ ptr->exp = 1; - a5 i9 y) |; A& u6 F$ V ptr->next = NULL;4 D9 d% P+ `, x4 ~* v } : q/ q4 }& @. I1 \ else5 ~! p5 o+ `8 v! O { - p3 ? E; M8 c/ N5 V, U for (k = S.top - 1; k >= 0; k --) \5 L4 q+ ~8 I( m) O' m% G5 M) s8 o$ K x = x + (S.elem[k] - '0') * cf(S.top - 1 - k); 8 _! d+ Z1 I# {* m7 y" j ptr->exp = x;: V, Y/ `' p/ o4 G+ J8 W; U% {( m1 x ptr->next = NULL;+ M9 K4 s3 }; l @) i x = 0;8 r2 O5 n+ X4 {: }7 G5 b* u }/*tiquzhishu*/ 6 j8 Q+ |! h; A7 O1 \% z& n G S.top = -1; J; q, r: A! s. v } 5 C/ V7 B; J9 X, A% A8 l if (ptr->coef != 0 && ptr->exp != 0); Z& `; ?, v7 ^& f { ( x( C" L6 ~) Q! s1 L p->next = ptr;' W- o9 Z) T3 U; g" {5 B R p = ptr; ; f) L" a# v# l4 S' T }6 R* W4 K( }$ [0 v M* H if (i == j - 1) / G$ L- x0 ]) J H {+ L6 Z& s: J/ |/ N, j0 ?& ` if (ptr->coef == 0)5 H- `2 o u# u$ H& p* {8 i6 { {5 k5 d: O/ T; _- i( q for (k = S.top; k >= 0; k --) + z$ x8 N# u5 q) g/ @& W& f; |) b# x x = x + (S.elem[k] - '0') * cf(S.top - k); 9 P8 O7 {* v8 w& } ptr->coef = x; * ^+ d s' {3 C W; T& G ptr->next = NULL; 2 x" b+ w# j, {2 W ^1 B N" v } 4 ?! t0 ~1 m5 R7 Z else * Z `5 D# e5 ^1 B0 Z$ g { ( s: `) ^& g2 M z9 D' G& r for (k = S.top; k >= 0; k --) 3 {9 _ y4 _* d+ q+ B# _ z x = x + (S.elem[k] - '0') * cf(S.top - k); 6 Z' Z3 h; p% _, J; T7 u ptr->exp = x;. P L t1 `! }1 p. ` ptr->next = NULL; 0 @' j9 v @3 q. `' t7 ?/ B }0 s# q) \7 [" U p->next = ptr;+ Q$ I$ Z" d/ Q+ Y1 n- }* B ptr->next = NULL; : B4 Z/ k; Y( o* J: k/ N9 T5 G } $ w# @- c9 _1 _$ Q* m$ p }; X) W% `9 Z$ v. B; \% Y5 l3 ~2 F% H }

    void stinsort(Lpoly *pa) % c% C; m6 `8 J K5 U{; `1 t( A: f" Y' C2 O& e; Q Lpoly *p, *h, *q, *k; $ F6 E$ S+ X6 C! Z7 c3 s h = pa; : j2 h) i0 W5 c2 T p = k = h->next; $ |8 s# Y( R( ]% {5 n q = p->next;: m* m& O+ L, I* x$ D# s) B while (p->next != NULL)6 X2 B. q( ^7 ?) Y+ T {+ q9 I' D1 Y, V+ C if (q->exp) ; G. w: Z$ q% J' E { 3 H) _8 M2 [/ h @) R while(q->exp > k->exp)$ ` u% f/ i9 M, Q) ?5 _ {% {; J, l4 y( B2 E k = k->next; / h$ a/ \8 P1 r! f" l4 a; C h = h->next;. i6 K% { q0 e: B7 O4 w/ O }1 O* f1 ?$ E" Q2 K* M if(q->exp) - c, h. G) H/ h6 x4 P& @ {. `6 m# ?* g( m4 Z& Y6 }1 V: f, ? p->next = q->next;) B" F* p- m+ c" w, C* K h; H h->next = q; {9 H0 z1 M% @, L+ H q4 M q->next = k;9 J+ }0 F! }# i! ~0 ^ v* D q = p->next;) a! t4 B q' U } : m% e! G9 `& H" F if (q->exp = k->exp) ' K3 l5 p# F# H { . m) g, v/ ]; b- z' k, @6 Z* |2 I k->coef = k->coef + q->coef;" C: Z8 G' G0 e9 E6 C0 B- m2 i p->next = q->next;, P6 L+ [* U6 a' @# r; W, ~* u q = p->next;9 M7 H) s4 |0 r9 c3 }# J }- S. T* L( s7 Z6 R" Z! t% ~5 V h=pa; 3 b, h4 }/ l" L$ O# o k = h->next;! ~& P: X, U9 F* [1 N0 d }3 B8 L3 ], ?! u! U ( x& ]4 k- H. T% G if (q->exp = p->exp). Q. H! x5 u: R5 d3 s {4 [# ?$ M+ t1 Y' [5 B9 ? m p->coef = p->coef + q->coef;8 n# L- \0 m9 Y* r- a/ X" p p->next = q->next; u2 f1 @; t @* ?0 s6 a q = p->next;' A: T( B( |% F( k% ]0 T' ^ } 6 Z: R! d8 N5 Q! _. z if (q->exp > p->exp) ' i h [8 A" b+ f! [7 J8 [ { 2 K" k' F; m: A. a. w+ G/ C q = q->next; U% X2 o M1 B' L6 z5 D/ f p = p->next; 4 B) F5 s& E$ s4 q! I/ {4 i8 s4 G }; O% P5 Q8 s& s2 o4 T }! t) i6 R; |: J: y, |6 _/ d" } }

    main()( B% @) a, S1 e) O, o, g6 h { 7 K) V9 ^. P; }( _. F) E# Z int i, j = 0;3 L9 h9 h4 \) L; M$ c/ r" x printf("a=");0 t% W" u% e2 x8 N+ f# ?$ N# o scanf("%s", a); b5 j2 {3 Y( Q, y* a0 _. F j = strlen(a);

    input(a, j); $ r/ c9 d# e3 g& B stinsort(pa);7 y" q/ H9 v6 x1 a/ H# I! N printf("a="); % O" Z g/ A5 P; r8 }: n$ ] for (i = 0; i <= j + 10; i ++)/ w; V& [. j# b5 Q' k6 Q {5 d7 N6 ^5 ^& s( D5 t ? printf("%dx%d+", pa->coef, pa->exp);: R6 ?( J( R& e: p* k9 I pa = pa->next; 6 w. p+ D( G7 g8 ?$ _+ m. H. U } % _# d$ [ x2 S- Z} 5 K/ o2 ^5 p9 z, _7 ]$ h

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

    该用户从未签到

    5
    发表于 2005-7-28 09:37:00 | 只看该作者
    还有,楼猪这段代码错误满天飞,居然也可以运行?

    该用户从未签到

    4
    发表于 2005-7-28 09:28:00 | 只看该作者
    还要注释要么用英语,要么就用汉字,不要用拼音,恶心死了,不是每个人都习惯看拼音的。

    该用户从未签到

    3
    发表于 2005-7-28 09:27:00 | 只看该作者

    不用对齐的编程风格也就算了,可是把几行挤到一块儿的风格也太小家子气了吧?改改啦,不改成不了程序员的。

    该用户从未签到

    2
    发表于 2005-7-27 21:37:00 | 只看该作者

    猛然发现我已经受不了C的那种模式了……尤其是别人写的……

    还有搂主最好打个包,代码发到BBS上全走样了,有些符号没了,没办法帮你看

    关闭

    下沙大学生网推荐上一条 /1 下一条

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