找回密码
 注册
关于网站域名变更的通知
查看: 591|回复: 1
打印 上一主题 下一主题

C语言必须要记住的18个经典程序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-9-11 16:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
  1、/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。6 R/ C, p  X7 C8 n' m" v
  程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
6 g5 R+ d3 Q% R; U( K5 N; G4 D  则表明此数不是素数,反之是素数。*/- n; S7 g+ A' V- R
  1.   #include "math.h"
    $ y0 ?/ S/ x( f
  2. ) i' c8 I2 K% ]; m2 e2 f
  3.   main()
    ' ^* z  ^* T6 }- X/ p" O

  4. % Q* p8 l$ m! Y8 J' Q
  5.   {
    - p8 |6 I. l: z1 _

  6. , j5 u, T: q+ E9 _5 R. {
  7.   intm,i,k,h=0,leap=1;
    ! ^$ j" [/ l6 G0 g* ^
  8. . g9 r& c$ Y1 E& V" M- W  a
  9.   printf("\n");0 N% [" d0 D. d5 C! G8 F

  10. . i$ d% A6 \9 P* n
  11.   for(m=101;m<=200;m++)
    3 x' Z( B: v) \7 p$ K# }
  12. 4 |+ g( X& z, d, n8 ]1 x& p
  13.   {k=sqrt(m+1);
    1 e1 P0 D" h% c- K# Q

  14. + a0 _- l: O% f' u8 p
  15.   for(i=2;i<=k;i++)1 V) I. f% h7 n* F: c# k

  16.   e: S+ f6 x  P* `* A
  17.   IF(m%i==0)0 g9 w9 \. W9 _6 `

  18. & D4 F- g% y0 L7 u1 g" H2 w
  19.   {leap=0;break;}1 w9 c1 A8 T. s' ^% G0 f! z/ x* B, B
  20. ( M! T1 T, M" e: @7 C
  21.   if(leap) /*内循环结束后,leap依然为1,则m是素数*/
    $ P  g& a/ P- Z) L1 _2 V+ i# U

  22. ) }. K' o7 j+ |' C8 H' A
  23.   {printf("%-4d",m);h++;
    ; Y4 S2 O7 j) ^" l- G

  24. . _( [" V4 x$ |/ t) d# @. V
  25.   if(h%10==0)) u2 {* x6 u6 {2 F; f* J

  26. * i1 c) j6 q3 `6 [' X
  27.   printf("\n");; _  c& X0 ^, i* _( n5 r

  28. ) h) z! _+ `9 i7 f; g- C2 a
  29.   }% K( Q) d8 Z0 l6 m* ^  M# U5 ^
  30. & b7 K( f, h: B6 }4 D
  31.   leap=1;/ j0 v1 O7 ?; e( i$ I* Z8 h6 B

  32. - [& ]" z1 u) u9 i/ K+ e
  33.   }4 R- d4 |9 b# q
  34. # x+ H7 X0 |5 w. [: d+ C7 L: v$ G
  35.   printf("\nThetotal is %d",h);  j4 N& y: Y. P

  36. - d8 S' T3 v$ a! y6 x, v5 T
  37.   }
复制代码

# f( j$ N; n2 l  X  2、/*完善程序,实现将输入的字符串反序输出,
2 C& w$ J/ f  F& F( D5 |# p2 l  b  如输入windows 输出swodniw。*/
+ w  t0 h* h5 h. Y
  1.   #include
    9 \0 y8 Q( w; n+ N4 b

  2. % o. P0 p, |# {$ I: e
  3.   main()3 h/ U6 l* f' I/ G- ~# F! o. c

  4. ' z. g* _$ n9 r7 ?( q# j8 }4 Y+ \
  5.   { char c[200],c1;7 \- b9 [% l/ J+ N9 p: j7 s

  6. + _' T9 y8 R. G' ]- |" |+ t
  7.   int i,j,k;
    5 `$ t( v8 o/ r! E: V* d; b

  8. - Z- l+ b; j) |+ ~0 o5 ^
  9.   printf("Enter a string: ");9 O. U4 X) t1 [# q' q* C" e

  10. : |1 R8 W) T$ f8 z) H
  11.   scanf("%s",c);# h+ I8 c' `: ?4 l) D0 W
  12. . R1 O8 r$ J! \5 S4 |
  13.   k=strlen(c);6 U3 R) |$ L4 d( B

  14. ) Y/ W) U; k4 d
  15.   for (i=0,j=k-1;i
    ( m% T! `& C$ B; ^6 f1 n5 w
  16. # \# ]& N; s' \& @. _! k
  17.   { c1=c[i];c[i]=c[j];c[j]=c1; }
    & ~3 {1 r$ {* w1 s4 N

  18. 2 Z2 ~1 Q; ^" V) \' I$ v' |
  19.   printf("%s\n",c);. v6 C0 R8 r$ |' X
  20. * [0 D! p! J; ?# `, w2 F# j
  21.   }
复制代码

: A! f0 g- N! H  指针法:6 |9 ~6 N, E) G( b' B

- V4 D/ J1 _2 J) P
  1. void invert(char *s)
      U& o/ K3 E0 N+ r; L  @
  2. , [  {9 J& B7 I1 m/ U, k
  3.   {int i,j,k;! J% n, G; g* o8 r
  4. ( k. z. l5 m* _  K
  5.   char t;
    7 x: B9 T: m, V; M
  6. 1 j7 F$ B. s  x" {+ ^" R6 |
  7.   k=strlen(s);
    ! y: e) H$ q3 \, w" h/ c

  8. % a$ I0 J$ b- S/ P' y/ n
  9.   for(i=0,j=k-1;i+ ^! R5 [% @( R
  10. ; U; w. H$ |4 |9 _, |: i
  11.   { t=*(s+i); *(s+i)=*(s+j); *(s+j)=t; }
    - N0 h) E% y$ t. t6 q& R  n
  12. $ \0 G3 G4 k2 [! [+ e9 S
  13.   }& L% R% r( b/ w7 _* k0 Z& i: z, \
  14. , L) w( A& u( K: ^  f8 m9 h
  15.   main()5 r9 I% ~, s( D5 C+ B( u# D
  16. " ?1 e. r7 s0 F) D8 r
  17.   {FILE *fp;' q% z# x& ?2 t( C5 a3 d- Z3 B1 l

  18. $ v0 K: W, G5 Z$ o+ g
  19.   char str[200],*p,i,j;
    / q/ x9 M; N+ O
  20. . K2 d. Q; o/ k: m8 p
  21.   if((fp=fopen("p9_2.out","w"))==NULL)
    8 X8 q. {4 K4 R* o1 y) u8 P' c6 X

  22. ) ^) r9 L: o4 {9 s
  23.   { printf("cannot open thefile\n");
    * Q6 a- W9 g$ j2 `9 N  I% C
  24. $ Y7 R- Y; i: o; P& J8 C* R# ?4 R
  25.   exit(0);
    % t  Z6 u' U  G! b, y( F# P
  26. 5 H6 a* {9 q( c) e* R: q* o3 I( g
  27.   }
    ! Z$ G2 ~$ [7 ^: v
  28. 8 I# e) Y3 X$ @1 y! q: h& W
  29.   printf("input str:\n");
    : x- ^7 g0 Y& P* f0 a$ _3 }2 a
  30. 1 p# l7 M2 [, _+ c: W
  31.   gets(str);
    6 C& d; J2 U  P3 O9 l
  32. + K9 ^8 A0 W0 S/ {3 K
  33.   printf(“\n%s”,str);& {* c/ l3 y% g+ T2 F" N+ t
  34. ) o' M, B4 }( D& ~  x: @0 y1 Q
  35.   fprintf(fp,“%s”,str);/ ~  D& G9 C' p- |
  36. + |; L9 ]9 i3 @; D. f" [
  37.   invert(str);
    $ p2 w, D  o7 q7 ?% X6 M0 q

  38. 9 M/ N5 f! P- p. p- \
  39.   printf(“\n%s”,str);: o2 Q* v+ A4 V, n2 h

  40. + G8 I: k, g" q
  41.   fprintf(fp,“\n%s”,str);0 l- |+ c9 K7 Q$ I3 l6 O. ^
  42. / X/ {& I4 i) K5 m& A+ O
  43.   fclose(fp);" v$ g0 o( N/ l5 E+ K

  44. . N& R( E: J' M( m5 b4 a+ t3 ^. r
  45.   }
复制代码
3 ~5 y: m& z! U# x8 Q5 v% y
  3、/*一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程
+ ?! i4 t9 g$ M. C' b4 \  找出1000以内的所有完数。*/4 z3 L- ~! v; h, v
) ^; M$ a0 H! [! {
  1.  main()
    * F& P) A& G) A) X- C; |0 Z& Y4 _

  2. + z. E' B& v+ h/ e
  3.   {
    ; Y: _8 L  I) T) w* L8 F
  4. , Y' j$ F5 M5 L: I+ l& q4 ]: d. j: ^
  5.   static int k[10];0 |, {# O2 `9 W

  6. % G9 @1 u& G$ r( D$ \' N/ }5 ?
  7.   inti,j,n,s;- ]6 P& Y8 y& ~/ R% ^' Q9 ?

  8. ! F' n5 _8 y2 H
  9.   for(j=2;j<1000;j++)$ n0 [4 @4 |% k" G4 E; b4 Z) [

  10. . \# h7 _+ C( \
  11.   {* B% r% a7 {% P, J$ G8 v
  12. - ~: S: o1 e! _' C: U- \1 M8 V
  13.   n=-1;
    , }+ I5 `3 ?+ D6 |
  14. . ?2 W4 Z: N& Q1 I; R5 o
  15.   s=j;! C) y7 I4 j! b. m. M
  16. : F( [, |2 X4 @3 `  [: k
  17.   for(i=1;i7 L1 m$ A! Q& h% G0 x
  18. " a' o5 y! T0 W/ w  H; V
  19.   {if((j%i)==0)
    . g( G- J. Q" l3 K: v1 [

  20. 9 `- N9 P, a  S/ f3 M
  21.   { n++;1 |( I* r2 w1 f; }3 ?" Q$ ~" j

  22. / R; c+ q) d: P' A( L
  23.   s=s-i;0 D/ m5 t% I6 z+ N. V, w
  24. $ Y  c$ ~$ b# c/ C
  25.   k[n]=i;
    ' o7 P$ J3 g6 r3 |; C
  26. % V6 W: m) a6 Z3 x
  27.   }# K( I- _7 h' ^* V+ u0 n- c. ^
  28. 8 E1 M* |! \6 w" |
  29.   }/ A$ a/ Z; A6 A8 ]$ v
  30. ; |& o8 S, o# |+ ?/ o
  31.   if(s==0)
      a3 y% B6 V" y% x! t+ l9 |8 A
  32. , t' L: {2 I* p& B* z- P7 ?
  33.   {printf("%d is a wanshu: ",j);
    4 f$ l0 P9 H$ c: i& C
  34. 5 I4 u6 a1 m4 o( L" t' \& z- e
  35.   for(i=0;i
    , p/ i9 Q& q2 t$ z) |! q" T

  36. 2 {, ~8 [& _1 O* `, A
  37.   printf("%d,",k[i]);
    0 W, o9 h6 Q7 q1 W

  38. / m- ^* l' |7 b3 _, w  Y8 t/ ~
  39.   printf("%d\n",k[n]);( t8 O" D) Z/ K% }" Y

  40. . U4 _; Q2 S: Q6 C  ~3 j3 ^
  41.   }
    4 m; d4 r* o# o, {
  42. ( \# h6 [: `, [1 t3 M
  43.   }
    6 A4 K5 v, p7 }8 B: K. [3 t

  44. , m) j+ ]8 `+ M* g7 E; p6 U) k+ A9 E
  45.   }
复制代码
; S! s2 r# o7 c1 T# q
  4、/*下面程序的功能是将一个4×4的数组进行逆时针旋转90度后输出,要求原始数组的数据随机输入,新数组以4行4列的方式输出,5 h$ Z5 g0 x' R9 i0 H) `" s: F
  请在空白处完善程序。*/
9 y: o7 Y9 `6 N0 u, K4 Y4 o9 w% g" \/ G, D0 J2 J* l
  1.  main()6 W. ^1 B0 T% @- {: R

  2. 7 ~7 W/ ?2 w8 @; a6 C8 d" F
  3.   { int a[4][4],b[4][4],i,j; /*a存放原始数组数据,b存放旋转后数组数据*/6 V! S1 Q2 H2 C& H
  4. * ]- ?) X( B( o! T0 }5 y, @
  5.   printf("input 16 numbers: ");. ?+ h; h2 a2 t4 w5 S( J+ i
  6. % J& M( e- e. |* C- h: U
  7.   /*输入一组数据存放到数组a中,然后旋转存放到b数组中*/; Q! J+ t" y1 l" l, _

  8. ! `* I4 H1 F  R4 @- f* J, h: c/ e1 u
  9.   for(i=0;i<4;i++)
    # s( C  Y! G. ~, R

  10. % j: g* h5 v: Q& X7 k! h
  11.   for(j=0;j<4;j++)1 t2 a) ]8 L6 r9 Q- \
  12. $ p, g" {4 D' e6 ^" M
  13.   { scanf("%d",&a[i][j]);! n1 s: D7 c+ m1 B
  14. 9 C3 k7 r! a% L; M+ a( T. W
  15.   b[3-j][i]=a[i][j];
    3 P% g8 @2 `/ d( \8 i

  16. ! M4 k7 O3 i! c! k3 r0 R5 K
  17.   }9 b! T; z6 I% z
  18. 3 z# M/ }; U8 M) R# H# E. s0 F2 f) j
  19.   printf("arrayb:\n");. o" R3 \& r  q

  20. - E$ F; E4 X) [8 R2 ^, {: `  f- K
  21.   for(i=0;i<4;i++)
      F, P! b2 L- ~! H0 S4 f

  22. $ Y! G; i7 y2 h5 |
  23.   { for(j=0;j<4;j++)
    / J3 {; D  `4 e* y

  24. . T! y* m0 c  }
  25.   printf("%6d",b[i][j]);$ B7 L- M( A1 y" W. C
  26. $ k; _3 }  z% m9 U
  27.   printf("\n");
    3 e* `: P1 w0 s
  28. ' |, ~2 N4 j7 V: m, z  f
  29.   }
    # `7 W' w$ c; p( e0 o% q* v
  30. 0 w4 V# N! d$ j4 w
  31.   }
复制代码

7 o+ z6 @  B% S( v  5、/*编程打印直角杨辉三角形*/$ O' E, b5 G& A8 Q

& Y! @9 S/ [- e5 C
  1.  main()
    ( G: F, i+ j) |8 l; _7 Q/ P* V% z

  2. 7 B( j! \. d" u' n- Z( R
  3.   {int i,j,a[6][6];0 v: `( |* q/ N  J5 X1 e/ f% Z
  4. * Y9 ^0 F$ z  |9 b1 d8 k$ z2 Z
  5.   for(i=0;i<=5;i++)
    , H" c  ?$ [/ e* L

  6. ) k: d+ i$ c/ R) `: N5 l9 h
  7.   {a[i][i]=1;a[i][0]=1;}
    7 ]+ D4 i+ y- |' X- E, U" D. P! g
  8. : M- Z) j0 [* }% a' ?
  9.   for(i=2;i<=5;i++)
    . Q/ \/ @& }% s* i/ z6 @& Y
  10. , {4 n+ i7 @* g, R) |
  11.   for(j=1;j<=i-1;j++)
    . q( {% x! N5 R( ?/ }

  12. / K0 `4 S  O  v- f
  13.   a[i][j]=a[i-1][j]+a[i-1][j-1];
    ; [! X9 o( y! @0 v1 w

  14. : g4 U7 a, B6 y. B% T7 ]
  15.   for(i=0;i<=5;i++)
    . {& @# e% m  p9 C; }/ G

  16. ; M% p# ?  [) ?5 ~! B2 _6 X6 j8 f- ]
  17.   {for(j=0;j<=i;j++)$ R0 e9 l% I# s" f

  18. 8 ?# r- i1 |4 s4 X
  19.   printf("%4d",a[i][j]);
    4 l, }- z7 X1 K: j" Z7 ?  P. e
  20. * W0 R5 v  G+ f) R0 ?3 G
  21.   printf("\n");}
      C  a4 o  P$ l+ C9 U

  22.   G1 x6 |9 Z3 s. l- W: _4 z
  23.   }
复制代码
" N5 X) `3 U+ o
  6、/*输出9*9口诀。共9行9列,i控制行,j控制列。*/
" x5 \( f2 V- X  h, u+ V& y5 g
  1.   #include "stdio.h"
    ' v, K) }+ p4 J0 d3 \1 e% l
  2. $ {* G7 y6 {5 n
  3.   main()
    8 Z8 O9 \, z: |/ Y7 `2 x0 T
  4. + u  S4 a4 w- R4 f$ w  m0 |
  5.   {int i,j,result;( L. E7 M5 L! {9 S" F

  6. & Z, h) H$ Z4 i# i2 R' z, U
  7.   for(i=1;i<10;i++)" g  b9 ?, ?/ ]
  8. + g7 M: y5 G1 G; t$ ~
  9.   {for(j=1;j<10;j++)0 f* q( e- N; A) j
  10. ! }3 e% G# \! Y/ k. w7 _
  11.   {
    ; L5 W% y& }' a
  12. ) w0 x6 ^: K; X' ~6 a
  13.   result=i*j;
    $ x7 n' C+ ]9 ~- u/ J* P) k- ~
  14. ' @4 `, \# p. }0 r- O/ G. P& ]
  15.   printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/
    ) I; x# ^7 H. P% D
  16. , d' U& @1 S8 g+ `4 ?$ R
  17.   }
    , m+ ]% L, v) r% K* ^0 p

  18. . B" [4 Q1 n( a0 k, y; ^! k% o
  19.   printf("\n");/*每一行后换行*/
    , R. m, Z( H8 q* @

  20. 8 ^; B; R7 X9 X1 e; t
  21.   }
    , H! j0 {4 ^( \; E' i( g

  22. 1 A+ ?% I1 g1 S; ?% _
  23.   }
复制代码
/ b9 \1 k/ ]& Q! x* ?
  7、/*下面程序的功能是从字符数组s中删除存放在c中的字符。*/9 P8 N& P7 K  L$ b/ D, h
  1.   #include
    5 G" M8 i1 H: p; E

  2. # B- T4 Z" x# }3 r% J
  3.   main()
    # Z2 w0 V9 p! q' b7 d  K5 K( p
  4. 5 O7 Z- h3 b/ R1 p3 g  l
  5.   { char s[80],c;9 T" q; n" e" l& m

  6. , ^7 |  M7 [% z5 F( L$ P3 r
  7.   int j,k;
    + w+ j" r. f( I  l; h) d

  8. 9 E; J1 u& z3 D/ F7 q
  9.   printf("\nEnter a string: ");
    1 P" `! t7 `2 E9 y2 p6 L$ v/ m4 Z; t: q

  10. 0 T, d+ U, l% p) j# `& E7 S( u
  11.   gets(s);4 o2 F7 m3 C3 N$ A$ q6 \1 R
  12. . P: g- `" c9 P3 @
  13.   printf("\nEnter a character: ");
    2 R1 F3 c4 r0 b3 K8 f. C- M
  14. % K# [1 M; V6 N
  15.   c=getchar( );
    6 [" f$ Z2 _& @, ]3 e7 j+ Q2 }

  16. . Z7 d5 V) c$ v
  17.   for(j=k=0;s[j]!= '\0';j++)( K: Q% t7 Y2 a

  18. 7 b6 I& b) \; }
  19.   if(s[j]!=c)
    9 x" F2 N8 t  A

  20. / d- O/ i2 x0 H& C  H+ h6 O
  21.   s[k++]=s[j];
    , h9 ?; [) }( a( ~+ w6 [5 o
  22. ) g( o  Q3 l3 `/ e& g8 N1 A/ K, i& k2 g
  23.   s[k]='\0';
    . ]& d# @  \% e& f3 |0 y% C+ ]* c% P5 X

  24. ; F1 V4 e5 Z5 [" F
  25.   printf("\n%s",s);+ f, c. i/ l8 s0 |( O

  26. , a/ R0 r$ c2 |& w. l+ ?
  27.   }
复制代码
" p6 g$ h0 R2 b: Y* y- |/ h; x
  8、/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
# P, J# }. [: J, X, X$ B& g  兔子的规律为数列1,1,2,3,5,8,13,21....*/" a" T2 E* L  X
$ p4 @- ^0 _. |' p1 w
  1.  main()
    - r2 t- S  _% S
  2. ( b$ q% a: E, N% R, v% x% B; w
  3.   {
    5 g/ h* s5 ]- z  i- P9 Y2 V0 s+ d' i

  4. 3 n( f  i% p8 O
  5.   long f1,f2;0 G) O1 J; k( G) W3 L# q

  6. 6 A6 n8 V2 U3 t# f7 X1 y7 C
  7.   int i;
    2 H9 w) ?* [/ \; m: a8 o: [
  8. $ L1 n1 f  _% e6 e
  9.   f1=f2=1;
    ) w* e" K3 {" H, _. n
  10. 7 @( o7 w! a, j* B
  11.   for(i=1;i<=20;i++)
    5 N6 |5 L/ X5 i) B

  12. ) c* c6 n. |1 i; X- X6 b
  13.   { printf("%12ld%12ld",f1,f2);; X8 d! U6 j( U1 Y3 C. r: P0 `

  14. ! r  x1 z# z9 e* }4 M, f
  15.   if(i%2==0) printf("\n");/*控制输出,每行四个*/
    9 p" l- ~; m2 B2 W

  16. & \. p+ Q; U0 X' P& a
  17.   f1=f1+f2;/*前两个月加起来赋值给第三个月*/" X) B) i3 P' M5 c' f/ R
  18. ( W  i$ C4 {$ d4 i4 c3 Z
  19.   f2=f1+f2; /*前两个月加起来赋值给第三个月*/2 _) Q. l, `4 [  j
  20. . x7 E: v9 p# P
  21.   }' C+ A' H- S1 R# x

  22. 8 P( N8 O& i4 g3 o2 i& U
  23.   }
复制代码
" K! L0 k8 Q$ ^- I3 u3 V0 ^
  9、/*通过键盘输入3名学生4门课程的成绩,
$ `; G8 ~$ J0 g- B0 Y5 \  d  分别求每个学生的平均成绩和每门课程的平均成绩。
% ]6 u  q1 m1 A& p' i- S  要求所有成绩均放入一个4行5列的数组中,输入时同一人数据间用空格,不同人用回车) @4 f  u9 x% j% ?* }
  其中最后一列和最后一行分别放每个学生的平均成绩、每门课程的平均成绩及班级总平均分。*/
+ m2 @: K) A7 C) m" f: L7 z# a' L9 i; }' d- q
  1.  #include. ~8 Q. b" {/ O% P5 U: E: S- z
  2. & i, s1 ~# R: e6 W
  3.   #include
    " ?: {  e& ]& i$ t3 ^+ ]$ O: M5 W

  4. ; M2 b6 n9 W9 ?2 O" C1 i
  5.   main()3 e; x( A3 L6 e+ c/ w

  6. ) Q1 F% }, L# S* B1 A1 X6 w$ @/ }
  7.   { float a[4][5],sum1,sum2;
    ) U! C% G* r7 V8 l6 Q( |
  8. 8 t) ]9 ^, A# a' ]6 F5 k. V2 P
  9.   inti,j;
    + z5 {: \* F6 w. z' Y8 x# F" M! A# [

  10. 0 k# Z; b6 n; M# @/ B  }6 I1 \& Y
  11.   for(i=0;i<3;i++)4 ]: `: }3 X8 v( ?. W

  12. 6 [  h) r2 I. ?9 e: f+ @8 w6 Y6 t
  13.   for(j=0;j<4;j++)$ d% c' _. t! x- M; K
  14. 3 s8 e. ^7 Y8 C8 J3 Q" d/ e
  15.   scanf("%f",&a[i][j]);
    5 G  z  s+ g+ u; H: n( o+ p* k0 O
  16. 8 ~5 @; [) y) S( f3 N; B
  17.   for(i=0;i<3;i++)# T$ x& f2 Y, x$ G1 h' P! G

  18. 3 m' K7 X4 B) ]0 g2 ~- v& f9 n, n" J
  19.   {sum1=0;" d$ v4 M+ {! H3 |) m( w
  20. ; m; R" l, P6 L* S" \3 H
  21.   for(j=0;j<4;j++)8 t7 j: j9 v5 O' I% z
  22. 3 n- a. R. {+ O0 O7 Z
  23.   sum1+=a[i][j];
    ' X) q/ ?! \" {, s9 X
  24. ; c) U3 W* [) {
  25.   a[i][4]=sum1/4;; E4 F& @0 D2 K; y# i

  26. 2 |8 _- z$ {! [8 l" h0 T
  27.   }. C/ |* u* N9 V+ O7 i

  28. 5 t9 {6 m+ b9 G2 a9 d+ i
  29.   for(j=0;j<5;j++)
    ( N9 r6 }6 u/ z1 @: u  n
  30. " J2 c/ ~6 K# S* O/ _
  31.   { sum2=0;+ J( t' X& E; ^

  32. ! g" Z: {) Y5 n7 X
  33.   for(i=0;i<3;i++)
    % W' y) `/ ?9 x& v- f/ s4 v1 i
  34. % D0 o+ n. U' e2 s; L
  35.   sum2+=a[i][j];: E! U( d1 D, O% o! w
  36. % ^, N- W% ]+ U# f  a
  37.   a[3][j]=sum2/3;
    % J3 |0 M! l$ o+ t3 a5 d
  38. + |" [( @* M5 v% R6 P: ?$ S+ y
  39.   }6 ?# N$ H5 U' x+ R( P: D; n

  40. ' x8 C+ B* r7 N3 X/ Y/ o+ T( ?& F+ z- ]
  41.   for(i=0;i<4;i++). N+ f' [/ L3 Y( J% j% v  U  |

  42. - p! X2 X$ z  c, t
  43.   { for(j=0;j<5;j++)1 Z% R, o/ S6 Q

  44. 6 P5 x- q3 g: L0 a: Q5 Y1 n
  45.   printf("%6.2f",a[i][j]);- Y* Y4 [  i' C0 Q$ S
  46. 1 b; V* H( T( ^  y. @& t
  47.   printf("\n");+ u9 ~; K* d3 X' S

  48. . u' P, b8 s: E2 |7 |% V6 T
  49.   }! l( [" Q/ ~! X) K
  50. 7 @7 }' z6 t( _7 X/ R
  51.   }
复制代码
! t$ }9 |% ?: T2 _* @
  10、/*编写一个voidsort(int *x,int n)实现将x数组中的n个数据从大到小' R, g5 t9 B( X' }
  排序。n及数组元素在主函数中输入。将结果显示在屏幕上并输出到文件p9_1.out中*/
- ]* v3 h6 I7 e; ]' {. s
  1.   #include9 }5 i: U/ O" x* b7 x

  2. + p. w0 n* _# C4 h5 J% i
  3.   void sort(int *x,int n)- J0 k8 d% Y' A4 N2 x7 p2 e

  4. " k5 M/ Q9 E6 {3 h
  5.   {4 R1 z6 Y3 Q% W' C) g$ Q1 c/ e- ]
  6. 0 w- ]) |& M- G
  7.   int i,j,k,t;
    8 O' N1 a! z& x  A

  8. 5 V4 }; I6 P/ ]. h, G' E5 p2 d
  9.   for(i=0;i
    3 J1 o; c# D' Q4 y

  10. 5 g& w5 M- _# S+ V% l! x3 o+ o
  11.   {! H3 J0 W. C* N, w# r4 e

  12. 6 e4 v; S% b; A# S$ A1 B; H
  13.   k=i;
    / t* Z$ |' P1 V2 [. n1 X& k  Y

  14. 9 V, Y, M1 f) N& s5 T8 Z) `
  15.   for(j=i+1;j
      t- h+ ?- n/ j1 B
  16. 7 u* V$ c' s$ {
  17.   if(x[j]>x[k]) k=j;- k1 U: v+ x9 P: _# }
  18.   s7 k" a# I  b
  19.   if(k!=i)
    # Q" [& A/ u% [
  20. * c- @; @6 [; x6 P: _+ r
  21.   {
    ! B  v$ K4 i: V7 B% h5 I
  22. , j$ w/ S9 w3 q6 q, X8 N. W% T
  23.   t=x[i];
    5 u% z& }5 c5 I. j

  24. 8 U0 s) d9 \( C3 k
  25.   x[i]=x[k];* z7 N* h5 I( S  T/ ^8 i
  26. 0 k* D* w, j9 y9 Q1 o0 I) _
  27.   x[k]=t;
    % S! Q# M' k' w" H% U, @% p
  28. $ y% A& `3 J, `& J! H! C
  29.   }
    * u' {* C% v3 g( n* [8 `
  30. # d7 d1 @" Y. G4 M" i( N2 z
  31.   }3 \: w- e. r# O% h# u

  32. # M4 F" g7 O  ]# _/ s
  33.   }  e2 \$ w/ f7 X3 u4 B# R
  34. # D* y4 n. t1 t! E- J
  35.   void main()
    8 k7 x0 @' j5 I, `8 h, \6 ^; q

  36. # _3 M; e, z" f8 h9 K) X/ Q0 b
  37.   {FILE *fp;
    / h& u' x! G" l" Q

  38. / f. w& p( S/ V, z# B; A
  39.   int *p,i,a[10];
    4 g: [. l" P. Q9 n; _7 p7 E

  40. 7 G( X3 T: W2 {1 d' E" T( {8 m
  41.   fp=fopen("p9_1.out","w");( U% y* ?, H; ~7 _: D

  42. " l$ _( Q# J1 _0 W: b
  43.   p=a;
    / f4 B2 {' W) E7 A) l

  44. * F3 [0 _: z4 N6 i7 T4 {( ~
  45.   printf("Input 10 numbers:");" y  ]" _! U0 D9 I% `" \1 s, ^
  46. $ }6 c) A3 k" |4 S- X, G* R
  47.   for(i=0;i<10;i++)
    # d9 E, Q' u  A. E
  48. 4 b) D. `" R& Z: X6 ], u& r
  49.   scanf("%d",p++);7 P0 {( Q7 R. L+ B' @8 U* x

  50. 7 w- {. v/ i0 j& y, O! o: S* i
  51.   p=a;5 g9 k" a  z$ [/ T  b! y" b, T

  52. 8 l# G& e, B- ?/ R) I. p, @
  53.   sort(p,10);4 T5 V- i( x2 L( f

  54. 5 k* ?  ~6 X* O1 ?- U* N( i
  55.   for(;p
    ! R+ Q- }4 `- ]" F8 f9 i
  56. 0 H0 a. W8 t7 \: p7 o$ p4 V
  57.   { printf("%d ",*p);* |, T7 P3 U: R7 o0 x* }6 p' {" V
  58. $ s: Y  U* v* V
  59.   fprintf(fp,"%d ",*p); }
    , O& V) N: ~7 l
  60. + q7 X. S* N# Z$ n3 o
  61.   system("pause");
    " i) K( `' q) `% |5 C

  62. ; L. V' w9 S9 [8 [1 p, w
  63.   fclose(fp);
    + W8 D* ~, R- ]; K" F9 v

  64. 3 _& T) a4 K: k
  65.   }
复制代码
: {; i/ {8 K# ~1 Q, Y
  11、/*编写函数replace(char *s,char c1,char c2)实现将s所指向的字符串中所有字符c1用c2替换,字符串、字符c1和c2均在主函数中输入,将原始字符串和替换后的字符串显示在屏幕上,并输出到文件p10_2.out中*/
# c! x" H& B* P8 r; y- z) l1 V" K: R" J5 p  F
  1.  #include5 j3 y( X6 H. |+ }! C& \. D4 D

  2. $ r5 O* d" J- d( ~
  3.   replace(char*s,char c1,char c2)) w' e8 n$ u, U% e6 T4 N

  4. 1 o" x7 K. Q1 T9 p' P9 H+ N  X  j
  5.   {while(*s!='\0')' f( D# h' W* ?+ w" t% K5 i

  6. / o6 ?# i; T& B) |2 ?. r, h) l
  7.   { if(*s==c1)7 T7 x  K5 Z! m8 D& i

  8. 2 `) Q- U$ P0 v8 I$ C/ b
  9.   *s=c2;( a  X' L* |4 Q8 b3 C: M

  10. 2 b8 @9 C' f: G$ h) s
  11.   s++;
    3 N8 k& ?- F7 F- ]: d8 z6 W1 [! W

  12. : G$ I1 \" ~* [8 V  R4 `: K/ o
  13.   }
    - f4 B2 ~" t' u' q$ _
  14. ( i9 A5 J6 p! ]2 y! M: R
  15.   }
    ; u- j& H( X1 k3 C% }( V& |
  16. / B: n8 l% k- @- d/ E4 H' Z& q$ u
  17.   main()
    ' N3 d* Q4 h. a# z$ b

  18. + j( g: j! E; n
  19.   { FILE *fp;
    0 |5 U% _2 s, q+ e+ z
  20. : n% m% c. x' A4 ^/ j1 u
  21.   char str[100],a,b;) Q# K7 ?1 E  G7 u$ Y3 ]

  22. 1 b7 U% E2 n& W4 d
  23.   if((fp=fopen("p10_2.out","w"))==NULL): k- [& I7 Z1 r8 h3 |$ P
  24.   \5 A& `8 N4 }* e8 Z
  25.   { printf("cannot open thefile\n");  W# j9 b) z/ P0 E

  26. : [- [! U7 g7 x
  27.   exit(0); }
    - [/ U* i/ y; z; z! Y1 t( E8 Q
  28. : g  E$ k, u( }) x) H
  29.   printf("Enter a string:\n");3 P% N" D$ ]) A) @+ [  M; A

  30. / g- e4 x( w0 e1 i  r3 Y+ z
  31.   gets(str);
    0 B  K. w1 q5 p* h9 R7 _9 J

  32. 0 r7 k( M7 b* s2 ]
  33.   printf("Enter a&&b:\n");
    7 H3 @" h+ ]! {0 G0 G) J. n

  34. , ]+ R. f: h% J4 |
  35.   scanf("%c,%c",&a,&b);/ G8 s) R1 I- C$ W+ C

  36. : H* V3 ]3 M4 w
  37.   printf("%s\n",str);; Z+ l- A( K4 r1 ^3 K# o

  38. 7 P8 m: {! k# `- k/ M/ l
  39.   fprintf(fp,"%s\n",str);. j6 _! x. l0 {  B
  40. 9 T! H& x9 v# d* p2 E
  41.   replace(str,a,b);* Y/ G( l% ?& e" l. I

  42. ; T( A0 i4 x) y
  43.   printf("Thenew string is----%s\n",str);9 T' ]) e4 Z4 V9 x

  44. " O6 V+ }" g9 s, `9 q: A
  45.   fprintf(fp,"Thenew string is----%s\n",str);; ?" N" W3 D  r( ]. z

  46. ! S) g, o2 m) {  i$ X
  47.   fclose(fp);1 X- h8 Q, A, T" b7 N7 M) D3 t
  48. 3 [+ ?) f- H5 y$ ~0 u/ U) I( V
  49.   }
复制代码
" C0 z3 k0 x% H7 |2 n# Z! c
  12、/*在一个字串s1中查找一子串s2,若存在则返回子串在主串中的起始位置" @; D, }9 x; W% j  ?
  ,不存在则返回-1。*/8 D4 F. P% N: Q6 D
/ o! x" U# [( e
  1. main()
    4 r5 U0 ~: \7 l- ?+ c4 u! C* L

  2. ! t" ?) h6 D: R9 z# j/ p" i3 n$ U
  3.   {chars1[6]="thisis";char s2[5]="is";& d7 V2 `+ z  j+ }" `

  4. ; V& p9 }" Y* H: \$ W$ L7 m5 Z! z; A
  5.   printf("%d\n",search(s1,s2));
    / p, W0 s4 r% l; o' ]' s7 R& h/ M

  6. . P. R4 k' x# e# Z4 K
  7.   system("pause");9 \1 a  Z1 N' T* M7 Q3 a5 ?  b

  8. # T; m) P3 q- Z6 p
  9.   }- Y: m' u  h/ }# N0 `
  10. , Y+ ]; c+ ]' d
  11.   int search(chars1[],char s2[])
    4 E& i% p- J. x8 o
  12. ) n+ ]' B# T( Z/ A
  13.   {inti=0,j,len=strlen(s2);) M5 Z( {2 }  |0 G3 x2 Q% N
  14. * k, Y0 @' n3 J
  15.   while(s1[i]){6 k- ~' W* z7 f+ A: x' r

  16. & V+ \/ n9 I! b3 j
  17.   for(j=0;j
    7 X/ Z1 L7 |$ x. f4 c2 W

  18. # H) g: R+ M0 w
  19.   if(s1[i+j]!=s2[j]) break;1 F( w- w0 x; v- I+ {

  20.   b" K4 \% o) O8 L/ \
  21.   if(j>=len)return i;$ S/ C& q9 B2 Z! z- V5 c

  22. 4 J% m! f+ U4 ~0 ]: n6 l
  23.   else i++;
    3 L4 n  G% M+ `) w8 T

  24. ( I. ]+ }! B8 P, l( |, z, |
  25.   }
    0 \0 g) A$ ~' c) W0 r+ }4 _
  26. 5 l% m& D2 l7 H0 d9 i- i" `
  27.   return -1;
    2 r+ v* ?# v2 g- d. z$ S7 H  z- R) t
  28. 6 B5 D  V* {8 [1 a
  29.   }
复制代码
# S3 n& K8 d" o8 \9 T5 {
  13、已知数组a中的元素已按由小到大顺序排列,以下程序的功能是将输入的一个数插入数组a中,插入后,数组a中的元素仍然由小到大顺序排列*/" ~8 J9 V8 y6 K% [9 C; M7 _
9 J" W0 t1 i8 E! Y. D& x
  1.  main()
    6 ^: M4 j/ O& E) B- Y
  2. * W# L9 c# H* Q# r' A; t
  3.   { inta[10]={0,12,17,20,25,28,30}; /*a[0]为工作单元,从a[1]开始存放数据*/; u  R! t  n9 z7 z5 K# O& O
  4. * d0 a1 f' S# b# N0 B. ~
  5.   int x , i, j=6; /*j为元素个数*/* R% Q: @2 Q" W$ d: M  b# S

  6. / W4 n% l# F& }4 d* u
  7.   printf("Enter a number: ");
    + k$ {. `( `0 `7 Y# Z( H/ x0 J0 _2 r

  8. ; s8 t4 ]' A2 G
  9.   scanf("%d",&x);
    , u( }1 X6 B: L. D% P

  10. + X- Q; r2 U8 T1 L  q
  11.   a[0]=x;; z+ d& j2 n: }) ~

  12. 4 c+ C5 \( E  S5 W/ q4 f' l
  13.   i=j; /*从最后一个单元开始*/6 i2 s' z4 S$ i) b) P8 I! [4 i

  14. 2 v* Z: |& n; Y4 R3 ?
  15.   while(a[i]>x)" U& f4 `' F; I8 B, q/ f; @2 ]
  16. + Y) X% U. b  X6 i6 j/ {' X
  17.   { a[i+1]=a[i]; i--; } /*将比x大的数往后移动一个位置*/1 t9 L' g: k4 ?7 {+ Z2 u, P- Z

  18. ; q: E8 k; y  N; p4 l* L8 f
  19.   a[++i]=x;
    * m' l! ?7 c4 M& |5 B0 `( b6 x

  20. 9 p2 B% n/ @3 V, [" R6 b
  21.   j++; /*插入x后元素总个数增加*/
    ! S( h5 |4 v+ y% F! e) \8 a

  22. ; C9 @2 k0 ?+ G* B+ l  ]; z
  23.   for(i=1;i<=j;i++) printf("%8d",a[i]);. G  c* C8 m+ y5 d  S: S
  24. ; D( x" T9 J6 W% R  j. L
  25.   printf("\n");  H0 r. ?! M6 t0 A; E" a9 B

  26. - ^! M5 w* a& a( E5 L  x6 B
  27.   }
复制代码
6 C5 p/ M3 i6 A
  14、/*用指针变量输出结构体数组元素。*/5 q7 Y( T% U8 I) {6 Y+ {' [, A
3 n2 {% r! N/ O/ S+ S8 B& e
  1.  struct student
    ( V; {8 k; o' K% F' r8 d
  2. 5 z6 ], n. z- \, X& d
  3.   {( n' P8 ?) Q1 O
  4. ( ^8 c/ p2 E' [
  5.   int num;
    0 z" G1 l( d* t1 X/ N7 B
  6. 1 ~: s0 U% |- M. Z6 N: r( A
  7.   char *name;& K# Y2 ]( G/ ^3 U( E- @

  8. 1 t2 i+ K7 P3 `" f
  9.   char sex;
    . J- u$ L6 K" T5 {% B+ ]! C6 I3 O$ x
  10. - ^6 k! k* ~4 v4 F+ @
  11.   int age;2 t" c& m9 Z1 U. C' K/ Y: z
  12. : ^' ]1 `% F8 |9 P
  13.   }stu[5]={{1001,"lihua",'F',18},{1002,"liuxing",'M',19},{1003,"huangke",'F',19},{1004,"fengshou",'F',19},{1005,"Wangming",'M',18}};
    * w: B2 k4 |- g9 y: W
  14. " i* e( f9 t) W
  15.   main()9 w* {8 S0 N& G4 O' p* z# G

  16. ; g5 W0 Z2 L" ^9 S
  17.   {int i;
    : r5 Z+ z. |  K, V

  18. " E3 Q3 j$ S  U7 l$ v
  19.   struct student *ps;
    0 m( B. {0 s0 f

  20. 7 N6 D+ U- A: P" _: t' ?
  21.   printf("Num \tName\t\t\tSex\tAge\t\n");. L% w0 h: j8 X+ M  s8 K; P# \
  22. - c. x$ Y9 R: ^; P
  23.   /*用指针变量输出结构体数组元素。*/# r6 }4 m, O* l/ w/ f7 I, W: Z
  24. 6 ~! ~1 y( l- \5 N5 w" E
  25.   for(ps=stu;ps
    6 y7 V7 [8 ?7 l
  26. 6 L) |# X( d" C8 H& J! _
  27.   printf("%d\t%-10s\t\t%c\t%d\t\n",ps->num,ps->name,ps->sex,ps->age);
    ' V! p' [2 `% V/ w* M) D
  28. ; p7 M8 j% _, w: L0 A% O% x
  29.   /*用数组下标法输出结构体数组元素学号和年龄。*/1 _$ B7 ?7 v# v  [
  30. * E- b$ Q& ~1 s& l$ g) c! d
  31.   for(i=0;i<5;i++)
    7 b! W! l) G; F
  32. 5 w  P3 h) N( M1 x+ s# ?
  33.   printf("%d\t%d\t\n",stu[i].num,stu[i].age);
    - k8 P  d& j1 _. |; b3 ]4 n2 h

  34. 1 h/ z4 J% `- s% d" E3 r" u+ V
  35.   }
复制代码

7 ~; O' X! _2 |) C. b; C  k0 V  15、/*建立一个有三个结点的简单链表:*/, S6 X& ?; y2 w& q" R1 D6 ^0 }! k& K
& ~8 z/ A7 C. g
  1.  #define NULL 0* G; X. h9 C8 ~& v# X0 B+ @& \! v

  2. # \; q+ c% c' t& Q) C  h# e# g# p
  3.   struct student! l1 z, f/ B/ M% p
  4. , k1 P% S4 @! J) [, h8 Q- `
  5.   {5 B1 ]7 V$ a8 n$ X
  6. & o+ w) S! z+ @0 }
  7.   int num;! L3 Q5 R1 f$ z

  8. ' t  d* q, u/ F2 [# T) @1 ]
  9.   char *name;( s7 @/ o# O3 c8 |* V6 T  ?
  10.   ^! [( }' {+ g
  11.   int age ;
    % ?5 m8 s$ ?  A) H

  12. " A  W2 }6 ^/ p4 i  ?1 l
  13.   struct student*next;9 m$ E1 y( s& z4 ?2 X% e4 H! r2 ~- U
  14. & ^1 f8 l; W7 ?; P
  15.   };! U1 W" k; w/ w+ v/ A5 a( L9 o+ P

  16. & \8 T! q5 N. V
  17.   void main(); w7 c, g; y; m- C- s
  18. 2 ~+ X! r" s6 _3 n  {: T' c
  19.   {
    4 g; R' l! x4 m9 W

  20. 0 L, O. Z3 p: T/ Q& c+ |
  21.   struct studenta,b,c,*head,*p;" Q5 E: `( {* Y3 x4 W

  22. 9 m4 w- E5 H8 Y, e: s
  23.   a.num=1001;a.name="lihua"; a.age=18; /* 对结点成员进行赋值 */
      e9 w0 \! U* L' {" Z/ s

  24. 6 C/ c* J' l8 x2 F. s8 g
  25.   b.num=1002;b.name="liuxing"; b.age=19;/ ^( k& `* J) ^. |

  26. ; b7 |, h& w2 Q( Y% Q
  27.   c.num=1003;c.name="huangke"; c.age=18;
    4 w& S6 B  N- [  \

  28. , [% g9 r) r' _4 |
  29.   head=&a; /* 建立链表,a为头结点 */, \  n% \( ^$ S+ H- W) O
  30. 5 p1 N6 c5 m) p9 E. J
  31.   a.next=&b;
    - n7 C& A5 J. F% P
  32. + D- m2 z6 G2 d1 K
  33.   b.next=&c;
    1 ?# k* M- a, I0 o1 m
  34. * j7 I( ^5 p) X6 o
  35.   c.next=NULL;+ {! c) B* C, [1 F  `2 `7 ]& h- d. \

  36. . q$ R* M% ^3 L  h# @) F; ]6 `1 P
  37.   p=head; /* 输出链表 */2 h. n, [- B* I; B! a1 o+ b

  38. 5 z8 y0 m% A: ]# z
  39.   do{
    & |0 E% v% j+ m. \2 F

  40. , w6 n% Z7 y. a  ]% H
  41.   printf("%5d,%s,%3d\n",p->num,p->name,p->age);
    + a# \9 s2 U6 w' J- h- s$ O- E) l
  42. 1 C$ B5 q8 U8 i6 d" e1 L) D
  43.   p=p->next;
    ' c2 g3 R+ I! K3 V8 r0 X+ C1 b
  44. * l, f) n8 T. j+ \2 m# Q
  45.   }while(p!=NULL);% t0 E1 n4 K$ X5 u8 O" h
  46.   Q% x$ T: Q' V( s" M
  47.   }
    0 a8 a. b* ^$ D- V- r% A

  48. 2 c+ y4 |0 s3 R3 v3 X* [
  49.   16、/*冒泡排序,从小到大,排序后结果输出到屏幕及文件myf2.out*/" D. \0 n1 z& f5 F( \
  50. 2 P, x* g! Q0 E8 V4 Q8 |$ r; S8 W3 g
  51.   #include9 h9 Q: I2 p; y) y" K2 x$ J/ U, |
  52. % g. N; u  I, C. T7 r( N
  53.   void fun(inta[],int n)) S" A" L2 e  Q- z( B2 Y/ k" z  B6 s1 k7 T
  54. ) {3 P: W! P1 X9 X
  55.   {int i,j,t;
    ) V0 [4 U2 u: y. F/ I5 V  [

  56. , N- f& f; s& r4 A' \+ }. k9 `$ ]7 g
  57.   for(i=0;i<=n-1;i++)- ]# ^& Q  f& b. U- j
  58. 5 n# k# E' ?% j2 l! j* M5 o
  59.   for(j=0;j
    % X* B+ e' s! X  ?
  60. % Q3 A) m2 c: P% j/ ?$ f
  61.   if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}, p3 Q+ ^* o( T6 r

  62. / O* e7 |* J' {+ d4 ^) T3 K
  63.   }3 X2 o; q( P; \- G* w/ M) K
  64. ' G# w1 y  g  @* u, e0 |9 t
  65.   main()
    8 @1 L! L/ s5 h

  66. * Q+ N* Y( x0 v' G9 i& L. S5 h
  67.   {inta[10]={12,45,7,8,96,4,10,48,2,46},n=10,i;5 ]. i# ]; V, W/ q- G  |
  68. + P, F' v: m; D% m- Z
  69.   FILE *f;
      H2 m4 ]- j# O0 m
  70. 8 Z! [" Q8 h7 n8 J5 t+ A+ r
  71.   if((f=fopen("myf2.out","w"))==NULL). w9 X$ K7 W9 |2 \
  72. 6 G: g0 ?+ q+ t' X
  73.   printf("open file myf2.outfaiLED!\n");
    6 l! a' D. f* m5 |2 F. h
  74. 2 }( L5 Q3 V$ L, g0 ~
  75.   fun(a,10);2 r0 S  h* r6 u0 H1 I" v

  76. 3 K8 Z) |8 a% Y+ b" z, N
  77.   for(i=0;i<10;i++)4 |( m2 M) t7 z' {# D7 ?" W- J! N) V  u

  78. * V  C- Q6 ^* d* y2 c
  79.   {printf("%4d",a[i]);. o: C- L5 j4 y* l' C  ~

  80. 0 {  y5 y/ D; d/ V
  81.   fprintf(f,"%4d",a[i]);8 G( B7 ~8 N% Q1 N( x2 \

  82. ) E# r* r4 a6 u8 i8 {9 Z7 }9 H
  83.   }' k- i2 D5 u0 ^
  84. $ H1 u7 P) f) L# E! k
  85.   fclose(f);
    6 W- w; m5 r9 |- S# p2 [5 A( H! S
  86. 6 I% G1 Z- Z. [# ~7 ^
  87.   }
复制代码
3 U+ n3 S  B. s0 r
  17、编写函数countpi,利用公式
7 d# Y7 ?/ [9 _" Y* U9 L) i  计算π的近似值,当某一项的值小于10-5时,认为达到精度要求,请完善函数。将结果显示在屏幕上并输出到文件p7_3.out中。, H' L2 b* \8 e; w- z5 }

% u' @# v7 ^6 X
  1.  #include
    ( a4 z; p! H) W7 h* e5 ~7 _( ?& n
  2. * J) K" b2 t2 F2 {
  3.   doublecountpi(double eps) /*eps为允许误差*/
    . A+ y7 n& r, [0 F% n

  4. 9 K- x0 N' ^6 z1 x+ k! a' K
  5.   {/ K4 a& E. c/ I- i  i" L

  6. - |2 k& ]6 |* D, d4 P7 U0 u
  7.   int m=1;) c9 O' {6 z1 K
  8. ; R, c6 k5 g3 U. m" g. e
  9.   double temp=1.0,s=0;) t& X) i4 X; V; X4 e. r* w
  10. 9 B" B6 ?5 l# Y4 m4 |3 C# X
  11.   while(temp>=eps)" f( x4 y& B6 e3 K& ]9 |) l# E4 r

  12. 5 g- s% R5 P2 D6 Z
  13.   { s+=temp;4 T+ x' b+ M. u5 `" O, A
  14. 2 Q+ L; V7 z9 ]' K# W/ B
  15.   temp=temp*m/(2*m+1);
    , O6 l1 ?0 W6 d, K! B3 }' [7 g' M
  16. + O1 V' _. Z: i
  17.   m++;/ B5 V( f3 J  y! I
  18. . [6 ]$ U* F' f: C: `; W' G$ h
  19.   }
    ) W+ ~0 f/ ?4 L* F/ z6 ^
  20. : f" @0 h6 c$ f2 p  v
  21.   return(2*s);
    5 V2 s) y* o! R3 h4 o
  22. 3 Y$ @+ P' l- K) t% e
  23.   }* G; s9 g/ \+ n
  24. $ N$ p, y& e2 I8 S% e. T
  25.   main()* ~0 N/ j+ H) S% }  o
  26. ! s' t! |7 F% ^$ k/ C  [3 e
  27.   {FILE *fp;( D- H  N. ~$ [7 c7 M

  28. $ B3 h# h5 M' T2 E+ `  T: L
  29.   double eps=1e-5,pi;
    / m! ]$ w$ P; ^8 Y
  30. / O8 t7 m! R4 A, {
  31.   if((fp=fopen("p7_3.out","w"))==NULL)9 u9 ~8 u% {# X
  32. , f; P" z/ L) Z1 k
  33.   { printf("cannot open thefile\n");
    ! E2 g4 p: F6 g  P. j0 B$ x: F
  34. * ?2 r: y$ ?/ X- h/ K: B
  35.   exit(0);/ @2 k) W; t: W& M9 }
  36. ( Y) m9 {; `) [' ~5 P; q
  37.   }
    5 O7 ?; F+ Z0 d. z/ b% V- K0 f' y

  38. ! u$ Q; E* `3 Y0 O* z% B, E
  39.   pi= countpi(eps);
    % m& R  U& w0 }% Z9 J; x0 M! a
  40. , T- z4 N9 m* P( `4 u
  41.   printf("pi=%lf\n",pi);: `0 z! z* a( t& r1 \$ [6 Z

  42. 3 I* j1 j6 n' F0 u/ t% i; X
  43.   fprintf(fp,"pi=%lf\n",pi);
    ! D* g7 R; q0 y# t0 t4 U

  44. * u" D6 i0 Q' M- y0 P5 T" I2 D
  45.   fclose(fp);
    : p# N% Q: H( o' J+ w2 ^
  46. 1 j; y; ]6 \5 b4 N& G9 r4 `
  47.   }
复制代码
; q- S" F, J; {& }" o, b; ~* A
  18、/*输入一个字符串,判断其是否为回文。回文字符串是指从左到右读和从右到左读完全相同的字符串。*// Y$ U, K* b2 G) c7 P

* T! ]7 b+ i0 N& W: Z2 _1 X: v' J, d
  1.  #include
    9 @8 a! X4 g: J
  2. & S1 {2 E% T0 V- v
  3.   #include
    + a0 w1 r; h2 }' F
  4. ' u4 R3 @2 A- F" y! V- R- H" O
  5.   #include- q. j$ o( j/ V% `: p1 ^

  6. ' u+ E" U" Y" U& a4 i: v$ G
  7.   main()
    . k  ~- y% G2 ]$ V( E9 a+ N: `

  8. 8 z2 s! ?8 {+ `
  9.   { char s[100];9 H3 v+ P2 o: K2 L! k- [

  10. 8 u7 \& V! r, Y% c- E/ B3 \
  11.   int i,j,n;
    , k/ B# O* `) n5 k% W

  12. 8 c& S; t# t# r
  13.   printf("输入字符串:\n");  F  @  Z' q6 h$ A

  14. + t; `  e7 q9 R
  15.   gets(s);6 T. X1 ]  y  N6 S. u" B
  16. - v# m3 H1 H  b
  17.   n=strlen(s);, }0 d1 x7 D; B& ~7 C1 q% V

  18.   E) P  _5 B9 W6 N8 t5 e
  19.   for(i=0,j=n-1;i
    - w3 V* P$ ~8 R  U1 R# O0 m

  20. 6 O  S+ @7 w* ]9 @/ R3 v
  21.   if(s[i]!=s[j]) break;
    . s) z& s! ?. b- z
  22.   r2 A* O' Q: c3 v/ n
  23.   if(i>=j) printf("是回文串\n");
    " E# B6 i/ o5 V8 L' g

  24. : Z( p+ l1 C- p# ^
  25.   else printf("不是回文串\n");
    ' i7 L7 g9 u9 D3 d* D

  26. 3 `3 b& k: s* P
  27.   }
复制代码

7 ~" t/ B/ u( ?; s7 Q* n4 Z! F
  • TA的每日心情
    开心
    2023-5-15 15:25
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2020-4-20 10:28 | 只看该作者
    很详细,谢谢
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-10-6 19:11 , Processed in 0.171875 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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