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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
  1、/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。
/ A2 @/ I- s6 k8 f3 j  程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,1 L8 M' \. d6 g) y+ J) j- m
  则表明此数不是素数,反之是素数。*/% p6 z+ i; \2 p* ?
  1.   #include "math.h"
    9 s: ~& Y/ G0 C: \5 _

  2. 6 @5 e. c# w! F
  3.   main()  W: y) z/ w% \1 y& X. L# ~

  4. 4 M% C+ q1 D1 T7 ]
  5.   {
    - _+ ]8 W: Z9 \8 u' d, F

  6. ! D; w6 D- _! z* W2 N
  7.   intm,i,k,h=0,leap=1;0 H: j5 L  c" Y# r
  8. ) h0 F6 l# l2 \; j
  9.   printf("\n");
    ) T5 {  X0 T9 _7 H6 c

  10. ( [. B) k: Q' `' [
  11.   for(m=101;m<=200;m++)
    8 e1 V* L) s# p- H# }
  12. , A1 U$ S5 _) v8 m$ w9 L5 V; x3 u4 c) U
  13.   {k=sqrt(m+1);
    . s: j1 T1 y/ H- @1 y: Z
  14. - W1 m8 ?& `3 A1 y$ s1 S
  15.   for(i=2;i<=k;i++)
    7 ]  N* ~/ ?$ J
  16. / a' y7 L( T& J% O6 v
  17.   IF(m%i==0)
    3 L1 a0 t3 W) G+ Z$ [
  18. 2 B6 h* j1 z# `& [! `0 N
  19.   {leap=0;break;}
    : w. m4 ?7 V$ ^

  20. 3 C( a' Q# o9 l
  21.   if(leap) /*内循环结束后,leap依然为1,则m是素数*/) @  B6 l. z, b% W

  22. 3 l% z. \, Y: O7 u# N( [
  23.   {printf("%-4d",m);h++;& }" h4 P; t6 O5 d3 {! T
  24. 6 W2 |) W! Y, g3 P/ `
  25.   if(h%10==0)! q8 _2 S& l. E
  26. # p# H* d1 l8 c* ~  [6 x
  27.   printf("\n");" N, P+ b% N7 g$ ^; c2 q

  28. * _0 _% S- k5 i) X$ M; ^' U
  29.   }
    6 j' O0 F( v6 T& N' k
  30. 3 a7 ~5 v( e# n9 X8 T" _0 Z1 ~4 s: a
  31.   leap=1;
    6 r2 G2 G; W( N; y! y

  32.   i9 ^% V' }2 S" j. O" P
  33.   }
    9 Z- X6 }$ H0 X# |2 U  w
  34.   T4 _& U; x2 P
  35.   printf("\nThetotal is %d",h);$ }# O; I; _! l. o- m0 }

  36.   S: B: Y, g% x. h/ o
  37.   }
复制代码
8 M( A+ X( Z; q' ]1 h
  2、/*完善程序,实现将输入的字符串反序输出," E4 O; F1 n  y; g
  如输入windows 输出swodniw。*/, a, z! m- u/ v! g# X0 Z
  1.   #include- ]6 _4 R4 l2 Z- g' g# G# V* T6 k

  2. ) h: P3 N% R" l2 a8 A8 t* t0 z* I
  3.   main()8 Q) u2 c: d% E2 V6 X
  4. 3 ^# z! J+ K* K4 j" e
  5.   { char c[200],c1;0 C3 D' n. L1 |. k) @" F
  6. - }: i% {0 i6 o" J
  7.   int i,j,k;4 U- P. _. b5 {

  8. / j/ y& I) z& M; R4 D8 c
  9.   printf("Enter a string: ");1 L# R1 H  S) I5 ~  @

  10. + r( f) [" M  |: U) I2 H
  11.   scanf("%s",c);
      M) D4 C. g. n* e

  12. + {2 ~3 K  e1 w* j: K
  13.   k=strlen(c);5 T- C4 M1 l: h1 \5 D' J  H
  14. / F8 U7 n6 D; m' g4 @
  15.   for (i=0,j=k-1;i. x" w. ^6 I$ a% W) @% d

  16. $ x9 O; Y4 W8 b$ v7 @( u
  17.   { c1=c[i];c[i]=c[j];c[j]=c1; }
    - X! r5 {5 r7 {$ z- S

  18. 8 }+ C! l) V( S3 Q/ c3 P( V) @9 b) O$ J( F
  19.   printf("%s\n",c);4 y. V4 h& J1 |8 v# m! f- s

  20. 8 K# y( k: B/ h
  21.   }
复制代码
! H% k7 T7 Y; |' m5 F1 n
  指针法:
0 p2 ]# ~* f6 K9 b, o$ @( ]  ~. q' q* n8 p: J& N5 D
  1. void invert(char *s)6 o. Y( |, V( L6 N
  2. . O" X) j$ |  P0 ~2 ], v
  3.   {int i,j,k;! m7 j7 ^- V2 R; u* i

  4. / e* |3 g: O/ E$ i/ z
  5.   char t;
    8 \. w9 \3 ]. X- N8 c4 H
  6. # W. ]# K$ R- s! Y
  7.   k=strlen(s);4 |7 ~7 g; X; v( ~( L  s0 y. B
  8. + R" s: U  [+ Y+ g( R9 k
  9.   for(i=0,j=k-1;i- ^' ~- U9 C5 G6 o: ?! q, n: l

  10. 2 L* F+ M# m" S* r( f7 h
  11.   { t=*(s+i); *(s+i)=*(s+j); *(s+j)=t; }
    $ r. t7 S  f9 }6 }

  12. % u7 R. _, R$ N6 C  Q7 a) x
  13.   }: @6 \3 n9 P) w6 w  Y  z# T, E

  14. " Y4 U% |  v8 v$ F: I
  15.   main()9 d- ~9 e6 @/ K
  16. ) \( _" `- I/ ?. |6 z. b/ u
  17.   {FILE *fp;
    " a2 }, \% J1 E1 P$ H; Q
  18. 7 U8 S* d  a, k
  19.   char str[200],*p,i,j;
    , \- [* y5 Z& z9 {  r# i

  20. , q7 M: q1 p! ^
  21.   if((fp=fopen("p9_2.out","w"))==NULL)
    6 r0 J% H1 n- `' \# s) k. F

  22. 4 o. n# M0 _. Y5 S7 K% A! ~$ ~- _( n
  23.   { printf("cannot open thefile\n");$ m. Z( `& ]. u2 Y1 l

  24. 2 L! E7 U, u/ s& [! O9 `' @# Z$ k, w$ W; `
  25.   exit(0);
    ' y% o0 s6 ~' c( j1 P
  26. * W0 V$ L( K; g5 i, P
  27.   }
    $ ]) X/ g9 [+ ~3 u( p$ h

  28. + z  `3 a1 o' N5 r, U' L
  29.   printf("input str:\n");" D/ v: a/ M5 j2 m
  30. 5 k% O! O! n+ {2 g
  31.   gets(str);( [0 _7 b8 N! Y4 x. a$ n& R3 B# |3 K

  32. 1 e) C) Q3 n* h3 ^  E* E6 G* w: n" ]
  33.   printf(“\n%s”,str);
    ! L. h; K# C5 l1 L0 ~. f

  34. $ w* z; o# f3 J! [. D
  35.   fprintf(fp,“%s”,str);
    5 o8 U, `3 V) `: r# a

  36. 6 W% }' g# ?0 Y# Q+ P4 ~& |9 C( `
  37.   invert(str);
    ! o3 R6 I% p" s- |+ N% c- i  @* h
  38. , j$ a' E# E/ C. O
  39.   printf(“\n%s”,str);
    - O; [  M: V( C! q3 R

  40. ! K9 `' c3 @/ M0 r% A
  41.   fprintf(fp,“\n%s”,str);
    1 ?0 n' f7 M" |- F

  42. 7 S& h" `; K3 \# H) {; [0 R- j7 y
  43.   fclose(fp);/ U% |, d% g& W; V: w4 R
  44. % R1 ]4 |+ @4 @# E
  45.   }
复制代码

2 }) V& Y3 ]5 x) b7 U  3、/*一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程
% d" [. h2 h  C) z. i, G2 ]8 O6 r1 K  找出1000以内的所有完数。*/
% a" I  f2 D) T
) o; e/ V( ~2 F7 p, @$ v' \7 W
  1.  main()4 F( A4 D: X  x3 z8 Y8 j

  2. ( L/ B  F8 E* V" z- M$ n
  3.   {7 {- C" d) s6 |# s7 R) ?

  4. ! ]2 ?+ C$ ?" m% U+ ?
  5.   static int k[10];
    ' l, W+ j5 `) z+ E6 V4 x' V
  6. 5 {  b4 C0 {' p+ t; X, v* X
  7.   inti,j,n,s;
    4 F, L4 v2 b- z( X2 o
  8. 1 a& n' l& }) i0 R/ S9 Z
  9.   for(j=2;j<1000;j++)
    5 S$ c$ X- c$ B$ j9 G" E3 B8 V

  10. 8 R2 q& @# j# u
  11.   {
    1 i/ ~& L5 V' q
  12. . d; t: R* O6 l3 E
  13.   n=-1;
    5 t9 I3 s# s" o3 F' G8 m
  14. & L; T6 d: Z& R- z$ h
  15.   s=j;
    # M/ e- W( S, z  x2 l' a9 M6 l

  16. 6 k+ L5 C; z0 J  o0 W6 L
  17.   for(i=1;i( A0 ^  P# I/ r2 P; N. a3 P
  18. . i, A) {* e$ _) h( L. z
  19.   {if((j%i)==0): j% h2 \5 k+ n* }/ H

  20. & q: V. k: S3 f9 A
  21.   { n++;
    ; v9 X8 i1 U8 p

  22. 5 n1 r$ p6 e' Z: ]4 a
  23.   s=s-i;
    ) b, Z; k3 f& m! Y: R" |+ J. g" K
  24. , t; _, X" V2 K: f/ O' r  l/ s. H$ D
  25.   k[n]=i;, d! l9 E1 l9 v1 w# N- [  C

  26. $ M, t) Y& Y5 a5 K) _
  27.   }
    7 b# U6 @. w: Q* x4 s! s

  28. " V1 D  Z6 i0 `$ @8 H2 e. t9 H
  29.   }6 X: i! f! m; \
  30. 4 E( G5 J8 N8 H" w
  31.   if(s==0)( Y2 ~/ ?0 {: {! C4 ]$ C
  32. ) }0 R% i% g& k% C
  33.   {printf("%d is a wanshu: ",j);. B+ m4 @+ D4 }8 a# n4 I
  34. ( T4 S1 o9 ]2 [* p  b4 N' R8 [
  35.   for(i=0;i
    % n- C$ B- m7 V6 {4 a/ O
  36. + r  r: x& V6 t- I$ E* W0 [
  37.   printf("%d,",k[i]);
    7 y) V; R+ i3 W

  38. ( l* g" q! Y. x, f
  39.   printf("%d\n",k[n]);
      d3 p* H6 q* o9 u
  40. ) W, K7 j1 N! W4 _* B. ]
  41.   }
    , Z1 W3 `' J. r0 ^8 r
  42. % H0 d7 X8 X4 I6 h
  43.   }
    7 ~  u9 R6 w& [& d7 A* X+ \
  44. 5 V- [+ ~+ n; x! i
  45.   }
复制代码

$ i  B7 b; ^/ s1 |0 L$ L  4、/*下面程序的功能是将一个4×4的数组进行逆时针旋转90度后输出,要求原始数组的数据随机输入,新数组以4行4列的方式输出,
. C6 f, ^% o; b1 x  请在空白处完善程序。*/- V& H( R! V7 [# @

+ b0 q! }6 n5 D& }, V3 q4 d- d
  1.  main()
    ( z; y4 ^1 s, @) Q  @
  2. 0 J" W3 j1 ?" e1 P0 D/ D1 p, s
  3.   { int a[4][4],b[4][4],i,j; /*a存放原始数组数据,b存放旋转后数组数据*/
    : Z8 O# N) w& M* Q, m8 P

  4. * j: G( g! Q/ z/ V2 I
  5.   printf("input 16 numbers: ");
    ) N8 m: o) x* K7 ?* O/ n

  6. 6 }5 ~; d. U2 j3 i
  7.   /*输入一组数据存放到数组a中,然后旋转存放到b数组中*/
    : b8 ?, T4 W& M8 \

  8. 3 u4 L) l5 j; D1 Y. E# {2 p' K
  9.   for(i=0;i<4;i++). f9 s: G( z3 `" G( j
  10. , D" e1 w% x/ s( a) F- I
  11.   for(j=0;j<4;j++)
    ( }: x, W* F$ x3 @. _1 }8 v

  12. 1 t3 ^( ]: |+ K3 g# ^' i
  13.   { scanf("%d",&a[i][j]);
    7 F0 @8 u) D1 i0 ^2 ~% }3 `% {4 N

  14. 5 _2 D6 _* \9 J- _  p0 k
  15.   b[3-j][i]=a[i][j];
    : l- R9 `' H. e" U2 Q
  16. + `8 R2 @# [, L# \
  17.   }
    . k* ^& Q# b8 S. e
  18. 5 `0 t* i, U5 g: h8 M) q) X' D3 ^7 k
  19.   printf("arrayb:\n");
    2 c% y4 T! }; w' Y9 t

  20. , o- g% c4 R6 K+ \4 I; |0 e/ b/ f/ j& m
  21.   for(i=0;i<4;i++)
    2 B" w5 H* q* e! |, {7 V

  22. ) ?! A9 O. M/ q) h
  23.   { for(j=0;j<4;j++)2 P% B8 g% q1 P+ ^3 w

  24. ; l% f( K' _/ N, Y: b4 H
  25.   printf("%6d",b[i][j]);: g; E( ~3 |! {9 e* u% }  y

  26. ( Y) [% `0 x$ J' Q- Z3 U* m. [
  27.   printf("\n");
    . H# y5 ^: a: n3 `4 Z! |
  28. % a/ r% R) U2 n3 p2 N8 O
  29.   }
    + I' v6 C2 J; Q

  30. ; N8 ^) s- H! V) S
  31.   }
复制代码
. m8 b) c' d. [; ]" K3 w4 l
  5、/*编程打印直角杨辉三角形*// D" }# Z. _/ g0 u, A

4 U& q! |4 B/ W
  1.  main()
    ( o9 c7 h/ N0 n) v1 @) ^' S

  2. 1 ]) ?: M( k  n1 H- y$ B. `7 r
  3.   {int i,j,a[6][6];
    7 h: f+ c; b% S6 w$ u% H
  4. & o; S8 h% a6 T7 L5 k+ {7 q" L# x3 g
  5.   for(i=0;i<=5;i++)
    / ]7 `# y+ \- `' ~  a
  6. 5 R% }: d# \3 x% ^0 B* d
  7.   {a[i][i]=1;a[i][0]=1;}$ _) c4 }7 S) C0 A
  8. - y) }9 \  l7 k4 e, n0 ~' Z& I
  9.   for(i=2;i<=5;i++)0 W2 j, [2 |6 l# |8 `- Z& {
  10. + m- P( E+ b+ W! k1 `0 d+ u* v
  11.   for(j=1;j<=i-1;j++)
    7 A: W  T, t& R$ Y: J6 h

  12. ' b# r2 [% e2 L  ~( f' l1 `
  13.   a[i][j]=a[i-1][j]+a[i-1][j-1];
    : K/ T  J; }- U7 ?; n2 ?5 T

  14. 6 i2 p! c  B) L- t, t
  15.   for(i=0;i<=5;i++)( Q3 i: X5 z4 R; @6 O
  16.   c1 O8 h3 m2 p) B, }& b* \' e' B
  17.   {for(j=0;j<=i;j++)
      K4 \: K- T* A6 V3 G
  18. % X! m+ f2 m7 G8 u$ l* ]* f5 N& i
  19.   printf("%4d",a[i][j]);& q) S$ B8 H5 u7 Z

  20. . L6 O% m* i4 d
  21.   printf("\n");}
    $ t- X& d( d" V( t# j( o. z
  22. 4 h$ P. A' j% E% M' z' J7 n0 }  l
  23.   }
复制代码

' O# ~" H: i4 ~" t  6、/*输出9*9口诀。共9行9列,i控制行,j控制列。*/
) e- J4 A, D. t
  1.   #include "stdio.h"
    7 w% Z+ u2 g% e0 P% q9 f5 o  ~. b$ r* t
  2. 4 j) s! Y' C* W0 ~4 s. }4 S
  3.   main()! w6 ]) C: k5 V$ l/ x

  4. ! S( [2 E5 f1 U; Y: n1 O; p  S
  5.   {int i,j,result;, d$ u# ]" `1 t# z# W/ a: r' Y; }# `

  6. 6 a" ~3 F( g. i& w2 ^; L
  7.   for(i=1;i<10;i++): h- X6 N5 y+ w% d. L  f
  8. 7 B3 L7 c- m1 G* b7 d
  9.   {for(j=1;j<10;j++)3 i2 z0 k, H  z* v
  10. 4 Y9 x- V) Q/ s
  11.   {
    ; j$ e, O5 J0 Z5 k

  12. $ I, z% i& N, q
  13.   result=i*j;
    . n* B! _/ {2 Y
  14. 0 ^9 n( Q: {2 ^2 [1 i
  15.   printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/
    2 S' n  I3 j# c' ^
  16. : d9 R) `9 D5 }6 }3 Z# B
  17.   }
    . q1 E5 k& d- F
  18. * j% ]! c# N; M. I* `* N- b
  19.   printf("\n");/*每一行后换行*/2 Q1 `$ n% p1 y! k8 k  r/ f

  20.   D" G  ^; A; N/ e* e
  21.   }
    ; ^* B! ^8 x* \8 h7 Y! o

  22. ! r2 V$ }$ F) m4 D
  23.   }
复制代码

; x! W# R) X: F7 J/ ~$ x  7、/*下面程序的功能是从字符数组s中删除存放在c中的字符。*/: I% Q. V7 d3 f4 Q: S9 {
  1.   #include# O4 L  f4 E; ]- M/ _/ y% `
  2. % o; {8 i; _6 s& x
  3.   main()# v9 Y  Z, l1 t) T/ }

  4. # J2 ]3 [4 {' E- K; p
  5.   { char s[80],c;
    3 B' D0 n! r' r& c9 c  g% w

  6. 0 a) ?( T/ u3 l. _& B
  7.   int j,k;
    / ~" i7 c/ z! I6 n/ L

  8. . v4 Y& s! Y+ w! o" C' k
  9.   printf("\nEnter a string: ");) U; t( G! ?" V' D, M% ], G
  10. 8 }; I1 f( s0 A' O& _' _
  11.   gets(s);
      y6 P: b3 r4 l) X& Y: R% F
  12. & e* ^* w/ q: W  l, p2 g7 x: j* ~
  13.   printf("\nEnter a character: ");
    7 i0 V& a$ w, O( O, s: {

  14. / t/ p  @3 @/ I2 [( i0 n" {
  15.   c=getchar( );
    ' ]8 O$ X( x+ z8 _/ j
  16. - H( {* V* E2 H# f; t
  17.   for(j=k=0;s[j]!= '\0';j++)
    7 _( r* n4 @4 n$ S# y' Y% j

  18. / h# P5 L" c& l
  19.   if(s[j]!=c)! y4 ?, L$ Y) m' n; T* @4 T4 ]

  20.   u: X+ c4 e3 D4 y( L$ X
  21.   s[k++]=s[j];% t3 ^5 ^. f) T  ^. X# ~

  22. * d& k# I4 h7 c' o
  23.   s[k]='\0';" c2 ^, G2 D1 h% j4 N0 M! r
  24. ! ~! U$ S* k( x1 K- T2 C! p
  25.   printf("\n%s",s);" D3 h$ I$ r) c. L
  26. 6 ~1 \3 I* t5 R$ R: A! j% E4 ]. S0 W
  27.   }
复制代码

0 V- t) m( n$ Y) H9 I4 t2 @( R  8、/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?! s  s: F8 ?8 x6 \+ I1 l8 f9 A
  兔子的规律为数列1,1,2,3,5,8,13,21....*/. J5 h2 A. F2 S) v
* ~* f% b0 |( ]7 Z  j) m# v
  1.  main()4 @, I4 [- t! X/ @  d2 w; P! E* @- B

  2. 6 @& c# P7 H' F+ A: w
  3.   {; |  q0 ^7 W8 P/ u7 r& R/ ^
  4. 7 I1 Y6 m0 A; v! l- n8 ?
  5.   long f1,f2;
    ) A7 N  o, E7 X( e5 M5 ?, ~

  6. ) l0 k- E# U% ?0 C( i8 j
  7.   int i;" `' [# R& D: a+ G$ R

  8. / W1 {9 k, |- F8 D# ?- u$ k
  9.   f1=f2=1;! Q, e1 ~3 V/ `* i# d
  10.   D! Q7 y5 H/ S  j
  11.   for(i=1;i<=20;i++)% u% n+ H2 X" Z. a2 K

  12. ; R. P5 W8 a( t+ U# |3 C; V
  13.   { printf("%12ld%12ld",f1,f2);
    & p) p7 K: K$ c1 R1 W( \: O6 Y5 k5 D& A

  14. - o6 @. t: \5 M& t2 I3 G
  15.   if(i%2==0) printf("\n");/*控制输出,每行四个*/1 L' X8 s6 o0 \- c( x+ r

  16. : x' O" Z# b6 ~
  17.   f1=f1+f2;/*前两个月加起来赋值给第三个月*/9 v5 i) N5 _- s

  18. , r  z9 p$ [- H+ L7 J$ F
  19.   f2=f1+f2; /*前两个月加起来赋值给第三个月*/) s+ D& A! w+ e7 ]+ Y$ |" F- n
  20. % U# v. s  f1 f6 ^# D5 W
  21.   }4 _. N6 E; L+ b- n  H
  22. ' _( X# k* b' r8 O0 M3 `6 @
  23.   }
复制代码
4 p( c5 `7 Y& W# y% O) F- e2 _
  9、/*通过键盘输入3名学生4门课程的成绩,
' K1 g/ @4 n* l2 r  ]5 E8 e  分别求每个学生的平均成绩和每门课程的平均成绩。. M! d6 R% z! N+ u" m( A
  要求所有成绩均放入一个4行5列的数组中,输入时同一人数据间用空格,不同人用回车
3 S+ S4 c% l& P( n  其中最后一列和最后一行分别放每个学生的平均成绩、每门课程的平均成绩及班级总平均分。*/
+ i3 o  E2 O' w4 Q( y/ m' v0 W+ L1 Y8 @7 O0 f- [6 `
  1.  #include
    ' U" M1 T$ i& k! h) H0 i

  2. % O: p. i2 o* u, q6 T# R
  3.   #include
    , t' o6 ^% ^, W+ K6 G& ]9 `

  4. ; {0 Z4 O: ]4 w
  5.   main(): E1 A5 A8 C" z; |7 _
  6. 2 j! D2 T4 I& i1 u
  7.   { float a[4][5],sum1,sum2;
    - I. W3 u8 _. g" ^6 f, i
  8. ' b" e) d$ f- K
  9.   inti,j;
    1 S( S: t1 D8 \* l! d
  10. ) i, K2 h! E, t# z
  11.   for(i=0;i<3;i++)
    ' Q) ~1 Z6 K0 D9 W8 T9 V
  12. & R0 v/ m  A+ k$ }4 q
  13.   for(j=0;j<4;j++)+ i$ P& K( F- A6 k

  14. % |* `3 \6 Y2 \7 J) u7 R
  15.   scanf("%f",&a[i][j]);
    ! _/ b7 P) T# H1 y
  16. & `' y$ c+ _5 x9 Y- t3 g* x
  17.   for(i=0;i<3;i++)+ w8 t( r: {' M0 S$ u+ q4 s! G
  18.   J6 i( U( y0 k: l3 Q# P
  19.   {sum1=0;8 Y/ T% f3 p+ L5 a* \
  20. ' A1 }$ c6 q% ?3 _6 y* c* ^3 g8 C
  21.   for(j=0;j<4;j++)  w1 l, `. r+ @; w6 P& [

  22. * ?; ~+ i9 a1 Q" S- q6 O; o
  23.   sum1+=a[i][j];6 ]4 o" S% w2 M" e" _( z9 B* o  P
  24. 3 Z$ @9 s* Q7 H& X: k
  25.   a[i][4]=sum1/4;. R3 p9 z5 }2 M4 _' x
  26. ! N, ~% V! s! _/ v
  27.   }$ S2 S. c# O( {9 M6 X- p! k8 {8 A

  28. 5 L  q& ], Y. o! n' k$ H  \
  29.   for(j=0;j<5;j++)" H2 s! a$ i0 J
  30. $ k5 {$ J+ N; E
  31.   { sum2=0;: l" n4 X7 e  r/ d. v% {4 K# R1 O

  32. 6 C& h" F* l/ {5 P! u* i# t
  33.   for(i=0;i<3;i++)
    1 e& ]3 F% H- u2 i0 |& \

  34. 0 n1 |, o6 N' b0 c: P$ |7 o  p
  35.   sum2+=a[i][j];
    9 A8 q& U# I- d, o: [# Z) v
  36. 3 H# x3 G1 [0 Q, _* u3 k/ _
  37.   a[3][j]=sum2/3;: o. z5 J; a& S: ^

  38. / m' g% c" {8 m9 @" @- Y; V6 e
  39.   }1 `( z" ^" @; D* [- t) K
  40. " A3 K3 \# V3 V! [6 w6 [# |
  41.   for(i=0;i<4;i++)
    $ k! n( B# P( `+ _2 M

  42. 6 r5 w; y" S/ S4 ^  c! i
  43.   { for(j=0;j<5;j++)
    . k, _/ S  g' Z, X3 k# p9 n! M5 E# W6 ^
  44. 7 P6 P$ I$ t5 Z/ B' H5 g* |
  45.   printf("%6.2f",a[i][j]);  i$ l$ ?. L2 X/ Q  o# O, l
  46. " y* O) t9 n' i0 P3 M( L5 z
  47.   printf("\n");
    9 [2 d% ^" F2 P% |3 z# ?# E

  48. 1 C, l: v9 H! C+ u" F3 ~
  49.   }2 T+ v3 K9 O+ J8 I
  50. # B$ P+ _" ~1 J+ t
  51.   }
复制代码
5 c9 _/ n. q4 \3 a( w# \
  10、/*编写一个voidsort(int *x,int n)实现将x数组中的n个数据从大到小3 x: W$ g" H0 C8 f& B7 d/ x- ?
  排序。n及数组元素在主函数中输入。将结果显示在屏幕上并输出到文件p9_1.out中*/9 J& [- S. l6 ?$ G
  1.   #include
    , C4 i8 V' I( s  W, {/ |5 C

  2. " \! D" u4 _4 V% O" @. b
  3.   void sort(int *x,int n)
    1 \3 ^* J( P% x% D& z4 ^' v
  4. 7 c2 C5 b$ o' E( \- x2 I
  5.   {
    3 T4 t7 |% u! ~
  6. 9 ^1 J# d& L' d. a! M2 L
  7.   int i,j,k,t;
    # O4 F6 ]& `( n! D% O5 h

  8. 7 L# @/ |, G; h7 D+ }+ d% l: f9 d, d- k% k
  9.   for(i=0;i
    3 R) m) F" T2 U1 C

  10. : V0 a4 r; [0 M. V7 n' k+ S5 j2 t
  11.   {
    3 ?- R- m% L* S* g7 v4 |9 G6 w; h1 @/ c

  12. ; b6 J1 ~# i9 n  O5 z6 F$ O  r
  13.   k=i;, y. I; D& z8 i7 C" @- n

  14. 5 U, L! T0 E9 M3 S
  15.   for(j=i+1;j& P. R- @% n/ @! ]

  16. ; t8 `# D/ f% A" V, L
  17.   if(x[j]>x[k]) k=j;3 p& o  g( p+ x2 F- H' o

  18. & o/ X) c- G/ L7 m$ y% M
  19.   if(k!=i)
    + `& c- F: E4 }! y/ C

  20. 6 J! L; C5 |/ x5 z
  21.   {
    + A8 H9 v) I7 [6 f! }7 e% u9 A

  22. * i# v6 c* b1 e  F
  23.   t=x[i];
    6 B7 U  c; ]. ]; Z9 ]! N1 Y

  24. ' Z: g! ]: x3 e# y
  25.   x[i]=x[k];3 k3 L# b9 q& O, p' {
  26. ! a1 H0 e( u# D) |, B
  27.   x[k]=t;
    # [& r- \' q2 B$ g4 G6 h4 x7 U

  28. + O/ \  o- a, L' }9 y1 ]( I9 N) x
  29.   }
    4 m8 f: ]9 s! F5 r1 c! L4 r

  30. ) E. {$ e% X4 p( b1 M
  31.   }2 c+ a, ?0 L3 }% d7 b3 u% _
  32. , `0 X4 \$ s( j" w" |) n
  33.   }
    7 F* T: t  m( I4 d1 N6 D
  34. / \4 t1 P! _  N* O: N8 l" b' n
  35.   void main()" \+ P& V' x6 e! L7 V

  36. ) O$ \9 C2 q: p8 d% j
  37.   {FILE *fp;
    " p) T) F0 h9 L) s

  38. $ B, v( t6 P/ H2 U$ N
  39.   int *p,i,a[10];
    ( j* E! t$ C0 F5 a, z) Y

  40. * s- m' @% Q7 y3 c6 D& [
  41.   fp=fopen("p9_1.out","w");
    & j3 Q# U8 t3 j

  42. 2 G. t+ C$ J% V8 J
  43.   p=a;$ n$ C- O, t/ s8 r/ J( f6 n9 m& {
  44. , ]1 g8 l( z. |0 n- q% B
  45.   printf("Input 10 numbers:");) i( _, V9 F4 R1 {0 H& B7 e
  46. ; C% [% x; V3 o$ g9 s) |
  47.   for(i=0;i<10;i++)
    * ~. U( m6 g' U8 i% w* L

  48. ) Z' I2 \( U- Z) i: D: L
  49.   scanf("%d",p++);1 B$ `2 P9 M9 Y( W+ T

  50. 2 C  F5 i" x: H2 l% _! y- V' ]' p
  51.   p=a;
    / ]0 z4 }0 S/ b$ f% g0 ~; W; J
  52. 4 l$ G+ U) P8 |( r
  53.   sort(p,10);# p; T! f. F6 k& o
  54. 6 k% S- O* d. |8 ?4 q2 R& c
  55.   for(;p
    / _% ^- o5 U* }9 Y) ]: Q& {- }, ^
  56. ' A5 J' n: d' Y! ]0 |5 V& Y% x7 ]" ]
  57.   { printf("%d ",*p);% q  D1 N  }0 O: H& M% t# l# j! t
  58. 9 S. T- q2 _7 a8 a, E
  59.   fprintf(fp,"%d ",*p); }
    * h+ b! C) }+ ^: H5 Z

  60. & Z* h$ X7 }+ }7 t$ ]' i6 x. b
  61.   system("pause");7 u# F" J6 G8 Z/ B3 q% L
  62. 3 Y7 h- p1 W! [- V7 J: ]. s' S
  63.   fclose(fp);0 U3 a, U( E: F; s$ m) L) R& ?( [" r, F
  64. ; k; V* Z6 ?4 a8 j
  65.   }
复制代码
* ^" {7 C( j$ L+ C; \) c) r  m
  11、/*编写函数replace(char *s,char c1,char c2)实现将s所指向的字符串中所有字符c1用c2替换,字符串、字符c1和c2均在主函数中输入,将原始字符串和替换后的字符串显示在屏幕上,并输出到文件p10_2.out中*/4 }1 X. A8 R5 }4 u: s) D  \! F1 L
! G3 h2 w$ |' t4 F7 U+ l
  1.  #include8 @9 z7 f7 T) E! u& |; C

  2. % B% {# }0 H: o+ Y( n/ \
  3.   replace(char*s,char c1,char c2)
    ( N2 H+ A2 F2 M/ d
  4. , J4 P/ v- |0 ]4 ]1 M4 U' i
  5.   {while(*s!='\0')5 E! q, b5 M) L" P( t' \4 R) q

  6. 0 B  h8 P5 m" z2 Q: Z( _  m
  7.   { if(*s==c1)! |% Y% q( N. j

  8. " J% l  Y+ ^3 c4 n. E. r
  9.   *s=c2;. b4 W! X. K8 d

  10. 6 |- f0 M% f1 u, e, t3 C2 ]! S3 M
  11.   s++;- A' \( i1 j$ K
  12. + v. u/ F# W9 S" f4 U7 I+ ^6 n
  13.   }
    ! Z+ k# b/ Z) i! A; {% |8 _& j

  14. 6 {6 e9 {  N! L: I/ C
  15.   }6 w. A0 p* m# r+ J" |5 q
  16. 9 X$ s( d, _! E- L& N, a$ r) R$ p" a) c
  17.   main()
    % F& n$ u+ \  }) e! h$ W, Q
  18. 6 V2 S4 h8 E6 T, S3 [! Z- o9 l) h6 V
  19.   { FILE *fp;
    : ~0 v: _" z: i$ o$ ]

  20. 5 ~$ j9 U3 d* H- j% Z' q
  21.   char str[100],a,b;) i$ X( N0 Q6 K! i
  22. ; m! j, u# W( i/ i) P" {
  23.   if((fp=fopen("p10_2.out","w"))==NULL)
    1 u) H0 g' D% y  V' P0 g' e1 O
  24. 4 u% d9 N8 S6 u
  25.   { printf("cannot open thefile\n");- y, |+ S  p2 `8 |
  26. # ]6 a1 s( m* \) \6 b0 t* q$ C
  27.   exit(0); }
    ' U6 \4 B. [+ z7 H

  28. 8 s) t( X' k" ?
  29.   printf("Enter a string:\n");  F$ T. Q! q1 j
  30. 7 ~( c$ L- q. d2 L8 A8 I
  31.   gets(str);
    0 U. g' Z8 E# D' x6 ^
  32. 8 c& z' Y# a  c5 E% ^1 I
  33.   printf("Enter a&&b:\n");. m, O: k% }8 L
  34. + h8 M0 Y* x2 o. ?
  35.   scanf("%c,%c",&a,&b);
    $ X2 e% l& i5 X7 i# j

  36. * K- O) k3 L0 ~- ?" N) t! X# W
  37.   printf("%s\n",str);: v3 C5 c' @' r0 G
  38. . I# r7 \) ?0 t3 Q2 J) H3 i) P8 E. _) b" M
  39.   fprintf(fp,"%s\n",str);' t7 F; g0 k5 G2 d" x+ O5 f* v; f9 X8 a
  40.   @9 r8 q; X. O/ G7 X3 v, L
  41.   replace(str,a,b);, J( s$ D% M7 r) z2 p& _
  42. 8 i( X8 {7 J7 A7 H& J
  43.   printf("Thenew string is----%s\n",str);
    4 C8 S- ~6 Y+ z6 s: R. W5 ?9 _

  44. 5 a( h4 g; m6 O% ]  f* k6 A
  45.   fprintf(fp,"Thenew string is----%s\n",str);" L" F8 r' I) S1 u  ~: G, p& X
  46. 6 A( H4 I9 {5 S/ G8 }
  47.   fclose(fp);+ p4 D5 l( U, ~+ Y9 A
  48. 0 l, f# b' t( t; s; K) c" t; m
  49.   }
复制代码

' e1 V! l( x' {6 x5 I  12、/*在一个字串s1中查找一子串s2,若存在则返回子串在主串中的起始位置
' F- H: R& \' V; e8 j) O0 f  ,不存在则返回-1。*/; z% }5 I  T- c, m( K

, a7 n0 n/ n* o1 G
  1. main()  Q; U9 Y  v: V' s6 F( W6 U( x% k# m/ s

  2. 9 p: l. i+ d' e) W+ v' n
  3.   {chars1[6]="thisis";char s2[5]="is";0 ~# w6 W0 j. P
  4. 1 I6 s) M3 o+ |/ }4 \0 Y) v$ g/ n
  5.   printf("%d\n",search(s1,s2));, o2 X2 t3 _( i; B
  6. * u0 V6 Z! `! a* Z) j  l
  7.   system("pause");
    1 [  Q, F6 i- Z! D" g% l; F' N
  8. & V" r3 Y- r+ e
  9.   }
    7 |" Y% N/ R; n# `& r

  10. 5 n- u, s: h9 A6 `! r3 R) O
  11.   int search(chars1[],char s2[])4 }: u9 C- M' R# j
  12. 7 f. u/ D. n7 ~/ C
  13.   {inti=0,j,len=strlen(s2);
    0 u0 }- P4 _& i1 ^! @2 t2 t

  14. : @( K9 L" g3 n& s" g
  15.   while(s1[i]){
    3 C+ u( |: q8 w6 @1 v: W
  16. 7 o. t- W. o4 A7 Z
  17.   for(j=0;j
    8 T3 u5 g- Q6 ?+ ?1 e! Y

  18. $ t6 }$ a0 ~" I* X) K% ]
  19.   if(s1[i+j]!=s2[j]) break;. o/ Q6 N  Q& |% n

  20. 0 D: [: j! R1 o* [
  21.   if(j>=len)return i;
    # R6 [+ T* T' }. ~% n

  22. & V$ K9 O. G8 `; g5 d  D2 n. T$ X
  23.   else i++;; H! r/ W# O" C  f) }& J6 W) s! t
  24. $ y$ a7 Q" F# e  h0 ?
  25.   }
      ?! S4 a1 [" @5 g

  26. + h& v  ~5 x9 l- I1 R, g1 R
  27.   return -1;
    4 ^) P* l, Z* \( H( `4 g- F. N9 n

  28. , T! ]& }* e: a2 s) Q/ ~7 A
  29.   }
复制代码

. ^" f0 T' c4 s0 ]3 v" S, G0 N+ X2 e# R  13、已知数组a中的元素已按由小到大顺序排列,以下程序的功能是将输入的一个数插入数组a中,插入后,数组a中的元素仍然由小到大顺序排列*/
! U! C( e" t5 f! d
. o$ k) h: z* A- w. I2 @9 O5 W- M' H
  1.  main()8 ?9 J; d8 ^5 j

  2.   I  x+ J5 c3 d1 n% V
  3.   { inta[10]={0,12,17,20,25,28,30}; /*a[0]为工作单元,从a[1]开始存放数据*/$ U' L$ Y  D# e0 x( z3 v5 @0 K
  4. 1 A) W# {* N6 \3 C7 Z
  5.   int x , i, j=6; /*j为元素个数*/9 C. {$ E1 X: B; u, Q: g* I1 R

  6. 8 @8 B# V2 ?# n
  7.   printf("Enter a number: ");
    / Y6 Q' S5 O  k; m. x

  8. 9 F! x8 [. `# E, ~# K
  9.   scanf("%d",&x);
    - u, I  I$ l! h6 z
  10. , l- l2 n" U4 f0 R* g7 g
  11.   a[0]=x;
    6 j4 ^" y+ q3 |# M2 n
  12. 6 ]- G$ b! T3 N! x* i( l5 W
  13.   i=j; /*从最后一个单元开始*/
    5 P8 S) h, e, b6 c$ H" `! w7 E/ G5 Z
  14. ( V/ |0 k+ E$ g& K6 @' p
  15.   while(a[i]>x)8 V- m& o7 ~9 u( h5 e
  16. . F: E: J% F# K
  17.   { a[i+1]=a[i]; i--; } /*将比x大的数往后移动一个位置*/
    0 ~! J4 h) p7 t, z

  18. 9 y$ Z5 c  {8 \9 \  T, f
  19.   a[++i]=x;1 I7 s% ?$ }! ^

  20. & h" k' a& @& A5 c' d! i! L, S
  21.   j++; /*插入x后元素总个数增加*/
    ) _+ F! N6 f% P, z1 a

  22. # A6 q' z# j+ I9 M5 X
  23.   for(i=1;i<=j;i++) printf("%8d",a[i]);
    # h- S# [9 g, l
  24. . d  ^) E* q2 Y$ q" B" u
  25.   printf("\n");" I0 l! O1 h* s. ], r2 u
  26. 8 g( K# {, s: a
  27.   }
复制代码
( c: Y2 L! w, g$ I1 G9 p
  14、/*用指针变量输出结构体数组元素。*/
% E" n2 S% O. a3 X' @5 [3 T
+ G2 X: L6 W* F' m" l* s3 J
  1.  struct student
    8 |/ @" \: L' ~4 E, _
  2. ' a- w; C1 S6 a
  3.   {- j, L6 h5 Q8 D4 o2 {  F- l& b

  4. $ t/ k, Z" }) P/ ~% |2 s- t
  5.   int num;
    - [' o1 l( B! t4 W; B* d: M) T9 b, W  o

  6. * r. k, A* Q7 Q5 ]* t$ v
  7.   char *name;6 N: o. ]( K0 d
  8. , u2 m+ ]; s" O- I
  9.   char sex;
    ) ?/ v! y% d+ N- H- f$ z/ ^

  10. 0 [! n/ t5 v5 }. `9 v- i
  11.   int age;, B5 W3 F  @& f  U# L

  12. 6 m, t( K/ [$ l1 ~1 k8 ^) {, r
  13.   }stu[5]={{1001,"lihua",'F',18},{1002,"liuxing",'M',19},{1003,"huangke",'F',19},{1004,"fengshou",'F',19},{1005,"Wangming",'M',18}};0 ]3 }2 @8 i9 g8 ]
  14. 4 }5 L' X' E# p5 H& f2 q0 u
  15.   main()
      _# i( J! C. a; J

  16. & h4 }6 V; X  A! j3 k; f% s
  17.   {int i;8 o" Q! F, k5 a' ^+ O* O! ^0 ~# Y

  18. 8 x( c9 H/ F) _
  19.   struct student *ps;1 V; W; a( {8 K( s
  20. ( o  u' O- G! W- O
  21.   printf("Num \tName\t\t\tSex\tAge\t\n");
    % t- M$ d' m. \' o. f: @6 R
  22. ' B6 y) S. }7 S8 T' ?
  23.   /*用指针变量输出结构体数组元素。*/, m. z1 T2 M/ ]: }! K

  24. # O$ x% k9 U: B2 T4 }! P
  25.   for(ps=stu;ps
    . c3 E9 U, v! \; ^9 r# c
  26. ) H7 z' D& R3 b6 ~0 H' ?
  27.   printf("%d\t%-10s\t\t%c\t%d\t\n",ps->num,ps->name,ps->sex,ps->age);6 t& h) N* ~& ], |5 M' C& B
  28. , J8 U) e! Y: L/ t3 M4 ^
  29.   /*用数组下标法输出结构体数组元素学号和年龄。*/
    3 \) i. G1 y$ V) V" l

  30. " Q# l3 u2 ]: o
  31.   for(i=0;i<5;i++)$ z  W5 i' h* Z; U
  32. + p; V& r3 A! [0 [. u- m+ v
  33.   printf("%d\t%d\t\n",stu[i].num,stu[i].age);
    " q* d1 d2 H, D( t: X  X

  34. - n2 Z- Q+ L1 _5 F. X3 E
  35.   }
复制代码
+ G9 a" s+ P* V3 f* i. r& R
  15、/*建立一个有三个结点的简单链表:*/
$ v- ^% X* _9 U- x# X# v& b5 V4 ]+ h- b* h# O  n! C- Q% n* Q
  1.  #define NULL 0' {6 K( b  B0 U
  2. : e; r% ?* j9 [2 f. R
  3.   struct student% o- }. ^  u# _1 H4 i

  4. & W  M4 A9 F! b; k" P
  5.   {
    8 j; k1 S3 q! H" b7 o+ e) {

  6. : Z9 b  A( D; l; [
  7.   int num;
    0 c8 e9 i/ j% j7 c* n% Z" |! a; W
  8. % M3 O& H9 P1 }" d
  9.   char *name;
    / J% v$ P: L: G6 o- B; O. |9 o0 ^

  10. * S- K2 g* g# J0 Q, x
  11.   int age ;
    0 o) }" x% O6 j  Z7 F

  12. 0 O: _5 Q3 x% l  G3 X' E, g6 S& E
  13.   struct student*next;! S- G7 I/ d# ?' b% F# x' ~
  14. 2 S8 ?( @1 B. `" K/ k
  15.   };
    7 ~6 T6 ?) ^, K
  16. . ~/ c5 I: g+ a, c  L8 P
  17.   void main()2 _) x+ ]% C9 z* ^1 b( ~
  18. 5 Y# |; U6 f4 R* G- Q
  19.   {9 W( a- R9 ^1 u8 U8 u
  20. $ M/ W+ H9 d# v
  21.   struct studenta,b,c,*head,*p;, {7 T0 l) y% r6 W0 i; [- p

  22. 7 L& b  H% k  n' K
  23.   a.num=1001;a.name="lihua"; a.age=18; /* 对结点成员进行赋值 */( G3 P5 E1 E4 B
  24. 3 B+ w, Q) R  ^& o9 L: I5 ~2 m
  25.   b.num=1002;b.name="liuxing"; b.age=19;" w( ^9 m3 O  l, C: i5 `; w
  26. # P6 J& d% |/ y% g) C. M$ T/ s! D
  27.   c.num=1003;c.name="huangke"; c.age=18;
      e" e1 u4 ]# H( J0 J0 O2 X3 X2 `) Q
  28. / N2 \' i- H1 D% `' d- V& H
  29.   head=&a; /* 建立链表,a为头结点 */: y3 F( r+ L7 w# N
  30. ! v$ o( o& m3 E- a4 r# R& w
  31.   a.next=&b;
    5 V: ~2 r0 o% t/ t% e( m9 l3 |
  32. ! E; @' L" [$ Z! }# B
  33.   b.next=&c;
    * r7 I, p/ I, b- r

  34. : o8 f, m8 u& [1 a
  35.   c.next=NULL;! z  `# Q9 m1 ]( z5 e, J0 L

  36. 4 ]* r4 U  N( K+ }" O$ o7 z
  37.   p=head; /* 输出链表 */
    ! H; M( a# ~: Q* w
  38. 3 _' |2 H3 W9 Q5 u8 O
  39.   do{7 f9 L: L7 Z; C2 M

  40. 9 F* y7 H4 r' r6 I# Q; |0 |: g! ?
  41.   printf("%5d,%s,%3d\n",p->num,p->name,p->age);5 q8 ~5 n; H! |+ N; u. X7 ]' g

  42. " s9 T8 U$ M% A2 m+ Q" O" S
  43.   p=p->next;
    ! t9 W/ N$ T: P. m

  44. - ]0 q- u8 o1 N, I; h
  45.   }while(p!=NULL);- ~% s% a/ K% r6 z8 Y1 G# o; c
  46. 3 |- O& I8 r0 U. x
  47.   }
    / K, h; s4 S8 m8 E
  48. ! l# K; m) l5 u. ]  L9 O
  49.   16、/*冒泡排序,从小到大,排序后结果输出到屏幕及文件myf2.out*/
    # m2 P. U2 U4 f+ i5 h, Z4 A

  50. 4 ~) q4 J9 C2 E5 s
  51.   #include
    4 Z% C6 d4 ?/ G

  52. " `( c  Q9 N9 _$ I
  53.   void fun(inta[],int n)
    / J( b$ H* p  s$ K5 V! z8 j

  54. # u, j" w0 Y5 L1 W) @9 L! x9 `+ j' ?
  55.   {int i,j,t;/ c+ \# y* ~. {

  56. ; t. F) j1 W( W3 L4 ]
  57.   for(i=0;i<=n-1;i++)
    ' X! Y. v  _9 X
  58. 0 `7 `" l6 D; H$ t! `
  59.   for(j=0;j5 }6 O* c+ R2 k: b
  60. ) j3 }9 K6 T9 P. E- }/ d! F3 I/ [  @
  61.   if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}
    / B; L2 |' z# j8 X: `
  62. , f8 z  Z5 l! Z; o
  63.   }
      L5 G( N: D5 \- l- Y% H

  64. 8 g3 g/ e; x, U
  65.   main()3 A' X* z: |) k
  66. 1 D4 J( d+ K8 j5 u4 G7 \
  67.   {inta[10]={12,45,7,8,96,4,10,48,2,46},n=10,i;! \: _' X( ~6 X, Y* q+ r7 q5 J

  68.   ~! A  e, e+ t3 x5 F' B$ s4 O
  69.   FILE *f;
    0 d' N- l3 Z0 q* J! \" Y6 I; I7 s8 i
  70. ' j. c/ x  b6 N
  71.   if((f=fopen("myf2.out","w"))==NULL)8 L8 L/ @! q1 s+ a- p! H- K

  72. . j8 F+ u) k( M+ @4 ?, z! T
  73.   printf("open file myf2.outfaiLED!\n");  H5 I" K7 N% p  G
  74. 8 H& A/ R6 \$ l( u, h, G
  75.   fun(a,10);
    & u% K( O% _  M( @5 n
  76. 9 p, N4 U% ?, i9 h6 C. i! j
  77.   for(i=0;i<10;i++)
    ' z- }- \; |% F) X

  78. , e9 F* C  j5 E4 y" o$ I9 Z
  79.   {printf("%4d",a[i]);4 S1 _) p  X0 a
  80. 4 n7 I$ [0 Z$ Y( L. X
  81.   fprintf(f,"%4d",a[i]);  R% C# T6 S4 P) j& c

  82. 4 v$ }$ T4 ~: `1 Y
  83.   }
    . {; F& T8 y: X( W7 E/ H

  84. : |; f2 }0 @3 e6 ?
  85.   fclose(f);
    4 Y1 Y8 p$ M; U

  86. # c9 b# j( R+ c* j9 q
  87.   }
复制代码
- `9 |0 N4 K+ H3 [  D" P; S
  17、编写函数countpi,利用公式
: R' J! _2 h; J% n  计算π的近似值,当某一项的值小于10-5时,认为达到精度要求,请完善函数。将结果显示在屏幕上并输出到文件p7_3.out中。2 g5 Z" p$ R( A" J! Y$ W
8 q8 m9 S1 U2 _  t- Q! A
  1.  #include4 T; O7 Y; F2 s% Q
  2. - n5 v- N; K5 I0 H6 D. D: @' \' I
  3.   doublecountpi(double eps) /*eps为允许误差*/
    7 a' i7 I1 t$ u- @* e
  4. + B1 d' J* C; A9 ]' [6 q  }1 X
  5.   {
    8 ^! \# t% M# u: G
  6. & U5 m% W7 Y. A
  7.   int m=1;
    + p- T* h$ ^* N7 [% w9 w7 o

  8. $ \3 b1 B0 }2 T$ G3 T: o
  9.   double temp=1.0,s=0;) w) D, {$ \, s/ Z# Y0 E
  10. ( Q1 M+ `5 y6 l0 |0 V* u
  11.   while(temp>=eps)) a, s7 O' j& \

  12. 5 x: Q+ l  ~4 P) G, Y
  13.   { s+=temp;
    ( P6 W& q7 A; T: y

  14. 9 I6 k! Q+ I4 A+ C! ?+ q& g
  15.   temp=temp*m/(2*m+1);
    ( q' `4 ~/ W& z: A
  16. 4 i0 k% m1 D, A7 P1 g* q+ [
  17.   m++;7 E6 x- ^. l( R

  18. - q7 p; g; B: F- f
  19.   }
    4 ]( E% [# _) }/ `4 C% I

  20. # P& H4 C8 k1 P4 v! O: N4 g, w9 k
  21.   return(2*s);
    1 W! ]4 `$ m  q$ h
  22. . `+ E4 [' `2 c& E
  23.   }( w1 I, H2 w/ D+ v
  24. ) H6 N5 p) |" X1 K4 a0 g& i; \
  25.   main()  \% `; C& w  J7 w

  26. ! |6 V) Y8 @: L% {
  27.   {FILE *fp;( V! C4 a- b0 F. I2 A& n& i- w

  28. - H0 d6 G8 M7 A. z/ s. h* d  z5 p$ H4 ~
  29.   double eps=1e-5,pi;' y* [# }* M1 L

  30. & k* V/ W0 W8 |# _
  31.   if((fp=fopen("p7_3.out","w"))==NULL)
    ' y8 f2 i5 f; n! ~% f0 a8 V. ]9 z8 J5 H
  32. # U9 d3 [: q4 l6 N  [
  33.   { printf("cannot open thefile\n");/ W, m6 J6 T' C! i4 p0 Y
  34. ! Q. l; f: B6 B' a( J
  35.   exit(0);
    ; a1 ^: d% S0 z! w: O) B
  36. 2 `7 l3 `+ v- C# Q2 ~: Q% E, H
  37.   }
    1 U2 u# s" G9 r  o( h

  38. ( X% x5 g) F; L( H* n' B* u
  39.   pi= countpi(eps);
    " N5 k- ~7 @/ i5 C  Y
  40. ! G+ ?  N: E6 z1 p
  41.   printf("pi=%lf\n",pi);7 x- z- e9 ?& `) Q9 E
  42. ' K  _8 m2 F( ~2 E
  43.   fprintf(fp,"pi=%lf\n",pi);
    6 @5 d! ~! W7 h* ~; D( A3 _

  44. : v5 I; |* p* [1 x! f
  45.   fclose(fp);
    " d7 A, p8 w. B1 H$ K: T% A) S

  46. # }( i# k) L4 |& i( Q
  47.   }
复制代码

& W/ y) q; Y) ?7 i. G& y  18、/*输入一个字符串,判断其是否为回文。回文字符串是指从左到右读和从右到左读完全相同的字符串。*/# i+ C1 |( p: ]5 A
4 g7 X- p2 }/ e  ?& w1 l3 y3 k
  1.  #include
    . ^; r, I& G$ _/ \+ d+ \4 K' [

  2. 5 x& t9 J. l+ E) A4 @
  3.   #include( A, Q- }1 L4 X$ o( X" _! ]
  4. 4 a4 j5 i) o. b
  5.   #include% o3 N8 a$ s1 Q1 A

  6. 0 ^3 d  @5 ^% R0 {4 H5 ?2 ]3 K
  7.   main()9 B, f  g5 o! e5 m
  8. # P: g. ~& L* p% L( Q5 S1 w' Z
  9.   { char s[100];
    3 \( g' Q0 s6 c" G; M6 Z

  10. , S% Y# c3 x) N1 P, X, [+ T9 A
  11.   int i,j,n;
    1 S( e6 h3 u* P$ ~  a  b

  12. 8 F: |% z# }8 K9 Q6 P$ F
  13.   printf("输入字符串:\n");. z7 ^4 {6 \& \* w
  14. * Q5 b0 K4 T% O! g$ ~3 P- k" w5 f
  15.   gets(s);
    5 P/ K+ @5 {. L6 l. a

  16. + q' M: K5 \  ]* Q( q0 V
  17.   n=strlen(s);
    4 M0 w: X& `7 N, H" t3 N! b

  18. / s- s5 O% I7 M& X. S$ p6 [; u
  19.   for(i=0,j=n-1;i
    ' K! S; Z9 n( R  l3 G7 J* Z& e' u

  20. 1 i3 N- p3 L* F% w5 u# i0 i
  21.   if(s[i]!=s[j]) break;4 W& _( \2 G0 ^% |& d3 m0 w5 i$ C) I
  22. # u$ |+ K' P( p4 w; L
  23.   if(i>=j) printf("是回文串\n");
    . s1 t; P: S7 H# ?9 I5 ~4 T. A: D
  24. # V* G, D- l5 g! b1 ~, _( H
  25.   else printf("不是回文串\n");9 w! z3 l& G/ B+ [/ ^$ k! |. s1 G9 C* X7 V

  26. ) v# n& A# a% h; n' U7 p
  27.   }
复制代码

" O) d& ]. |: o, ~9 ^5 e
  • TA的每日心情
    开心
    2023-5-15 15:25
  • 签到天数: 1 天

    [LV.1]初来乍到

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

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-5 23:15 , Processed in 0.156250 second(s), 24 queries , Gzip On.

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

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

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