找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 133|回复: 0
打印 上一主题 下一主题

C语言经典算法67-76

[复制链接]

114

主题

136

帖子

1000

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1000
跳转到指定楼层
1#
发表于 2017-10-10 09:26 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您!

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

x
【程序67% x6 N+ J6 D: r/ Z. \) J* K
题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
0 y& ]7 d/ ~" C# J  n" X- B1.程序分析:谭浩强的书中答案有问题。
- z9 s8 i# ]" q- {" R% y2.程序源代码:
& p; ]  ^, X2 G0 g+ b' Mmain()
3 ]" W. g* v, N" k+ [; c6 m& J{ 0 v. g' L; L& q1 f
int number[10]; 1 l9 U, f& s- K/ E$ j5 U
input(number); 7 `/ o. N, ?) M+ X
max_min(number);
" q3 Q/ s) b( E& F- N  I) zoutput(number); + o& l3 |) O+ v7 _% Z
} 5 U0 ^# ]7 m& k8 {
input(number) 5 q) Q5 [9 ^* D! l; x! c( I, k
int number[10];
2 K/ N( h" ?8 c. J{int i;
, v5 J% I* k: A% y, Ofor(i=0;i<9;i++)
/ [6 D1 b" I! [* k% L. d' ]scanf("%d,",&number); 2 ~4 l5 `  P3 ^2 f  e% Z! \
scanf("%d",&number[9]); 4 T1 b+ ]; m( Q: A8 ]! Y
}
5 z% ~+ c, \+ A- A+ h4 y5 ^max_min(array) ) Q3 W8 \. r6 O/ C5 [( w
int array[10]; 8 L0 B- r; C# j* M" p- r3 m) s. w
{int *max,*min,k,l; ; h! ]1 d5 S8 O7 x4 B: T0 Y: M
int *p,*arr_end;
) J, Z1 M7 z" M2 ^) F% K6 L5 m, _arr_end=array+10; 4 v* U  R7 \  z2 t
max=min=array;
" j/ d. ^  [& V, o1 g. ~+ t% pfor(p=array+1;p if(*p>*max) max=p;
- ^4 S1 I: `% X' T/ x. delse if(*p<*min) min=p;
0 M( O/ H$ M$ V0 |0 l7 s+ V$ N  Ak=*max; 1 f& z4 w& J9 [  ^
l=*min; 4 Z) Q! E& H" G% K1 A
*p=array[0];array[0]=l;l=*p; 8 D3 u5 i" y) M$ r& f
*p=array[9];array[9]=k;k=*p; - I. Q& X8 W- B$ S
return; 9 I7 E/ K% {, {! {. c
}
+ n* B8 R. @9 {' x7 N2 ooutput(array) 4 Q4 m- H* t+ w+ Y
int array[10]; $ B9 @# Z! |  ~' f" u+ U4 N. p
{ int *p; ' Z0 ?6 b- s; _$ }
for(p=array;p printf("%d,",*p);
$ q0 a2 n; h/ T, e& oprintf("%d\n",array[9]);
  r7 `$ ~1 g- M5 N! a: d} , D5 I: f. P) E) n% Y
==============================================================
9 m7 ^/ _. k+ d9 S: V【程序682 l# J. q7 @4 n& ?7 p* a' e
题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
4 v# X7 s4 v1 o% B; I7 [- w1.程序分析: : n5 n5 C% g2 L" B( x
2.程序源代码:
0 i2 s5 c9 J, u( E( D: z+ cmain() . u6 P$ S, {6 B* F, x& a
{
- G' K' g, g! R# a/ d8 ^int number[20],n,m,i;
. z7 C! L  R  I# oprintf("the total numbers is:");
7 ?& X8 @: ], y. M) ?0 h; iscanf("%d",&n);
2 l% C, t7 @1 f/ e: W9 i/ c2 b/ |printf("back m:");
7 i! v# p! L/ r: Q; H5 t1 c) F& Zscanf("%d",&m);
% [( S) j) K9 U9 i* ]$ cfor(i=0;i scanf("%d,",&number); 5 }4 Q' o- L# ^  |' u
scanf("%d",&number[n-1]); $ z( U6 R1 Y) l# T( o/ y- x5 d8 X
move(number,n,m);
2 ~# o7 I; _. x& Q" w" N8 sfor(i=0;i printf("%d,",number); 9 _9 L& E/ c$ N" w1 x; w- p# B5 ?
printf("%d",number[n-1]);
" i# |# m! ~2 J! c/ K8 p} 2 u  V3 t* [+ H4 D) U
move(array,n,m)
  Z2 o4 @/ x% N8 iint n,m,array[20];
7 t% {3 V: x8 E/ F8 s' ?! Z{
5 p  ?7 B9 e! Z5 Cint *p,array_end;
5 N2 x, E  w1 P- ]array_end=*(array+n-1); 6 I% D. N& Q) o6 x
for(p=array+n-1;p>array;p--)
6 p2 Y3 x5 ~  n0 ?/ C6 r*p=*(p-1); 2 C9 D& h% ]  k
*array=array_end; / U" O6 {( w5 P! B0 x$ F
m--; 1 ~8 _* O: o8 Q' K) b9 b1 `. Z; l/ z
if(m>0) move(array,n,m);
8 a# V/ O2 f  O, N# e+ X} # k6 H- a% o( D
============================================================== & D2 ?) [4 h5 J
【程序69 ' }/ b: K/ ~2 N" e! C3 j, I4 B
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从13报数),凡报到3的人退出
- i$ f. u0 W- T圈子,问最后留下的是原来第几号的那位。信盈达嵌入式企鹅要妖气呜呜吧久零就要
+ i4 M0 y$ L8 P% i2 H. b* }1. 程序分析:
# w+ `7 N- {1 U& X& e9 [  R2.程序源代码:
" ^7 H4 W' Z+ |) [- Z#define nmax 50 . o- B7 v) L+ X' h  ?
main() - [0 v4 Q% s/ z* r
{
, B7 }, P; I, t$ bint i,k,m,n,num[nmax],*p;
3 f# ~% F" Z9 O  qprintf("please input the total of numbers:"); / B! m% Z% x5 H
scanf("%d",&n);   z6 Z) J: I+ w+ N) `
p=num;
% s' a  @" X8 I% F8 S# mfor(i=0;i *(p+i)=i+1; # V7 ~, H6 S) e4 ?
i=0;
8 @! q$ B. K5 L' k' uk=0;
) y/ b2 G  s/ P$ Qm=0;
* M; S  f; J3 uwhile(m {
* q1 O) w6 _; l  \& H1 ?if(*(p+i)!=0) k++; $ }* g" C, U+ h/ X4 B" [
if(k==3) 3 k# V) e2 r% \
{ *(p+i)=0;
2 J0 d# h; e& m2 |k=0;
1 g7 r+ P  R7 K& p9 s. q( Rm++;
6 x% ~. N" [- |+ @/ i+ e} ' T: t5 b. z- C$ A+ Z; W" f
i++;
& n- T* V  x- H/ t; g  t( sif(i==n) i=0; % r$ T: r1 b1 K: c. X
} . I0 X" c  h4 |
while(*p==0) p++;
6 ?) H0 ^1 D; Z! }2 Rprintf("%d is left\n",*p);
: g  X# S' v9 K2 `* y$ k# r6 ~} + Y5 T( I3 E8 A6 F  e- ?
============================================================== & T' o% }2 _4 {2 n7 z9 s5 ~
【程序70
* o6 J3 |% a+ Y9 b) y题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
4 v: L2 d; e8 V1.程序分析: ' M4 ?5 _" i, d
2.程序源代码: / V7 Q8 g2 I% q* U: l
main() * ~9 p/ V: J9 R$ e
{ * p! B" [# ?9 v7 S; E# j
int len; ; @4 t4 [& x- b
char *str[20];
7 h% p4 v* w. F; z; Oprintf("please input a string:\n");
+ B7 [9 ^* [; O/ N- N3 qscanf("%s",str);
2 H; b) m. G& N# H8 v; j/ ]% Vlen=length(str);
$ s( N9 k! r0 v2 c/ `. `4 [1 V* Bprintf("the string has %d characters.",len);
9 ]/ C; o+ g  [}
! `0 L2 S$ B5 m$ ^! F2 `0 ilength(p) 9 H( Z( F# A* q$ \$ b- h
char *p; * J! U3 Z, u4 m5 Z+ K8 Y
{ 0 o! L" Y: M  o* R8 ^) N
int n;
. t& }4 p: }% z7 L/ d8 tn=0;
: w# L+ `  i' r6 v. T7 x, X. zwhile(*p!='\0')
4 q/ F3 p3 F- B3 J( O* N. T- g{ " H; B4 [4 m3 V' P5 D: S
n++;
9 G/ a% I$ D) v  qp++; ; h% o( j0 j! z) A' j; o  j0 F
}
. |$ o, p3 j  {/ L* Z3 ureturn n;
5 |0 O, n4 ?5 [2 T% ^} 0 B1 ]5 k! B9 [  {7 A
【程序71
# P+ z2 H- k3 G6 ]题目:编写input()output()函数输入,输出5个学生的数据记录。
% n; U3 B1 s' X  k3 E1.程序分析:   K/ d7 |5 \, b4 N9 ]3 s. ]& W
2.程序源代码:
  K6 w( t* n7 h: I#define N 5 $ |8 Y) \/ u7 S2 o/ L& T* @0 M
struct student # h: F8 s1 i7 _+ l6 f4 a8 @
{ char num[6]; + p* o( L5 h% R
char name[8]; ' {3 c/ |0 m4 `$ K7 E% p
int score[4]; & J4 b. w7 y2 u" K! F3 D
} stu[N];
$ O( W: A. F+ N0 w- C, ainput(stu) " z  Z1 v3 g( S8 @' U0 e& i2 y
struct student stu[]; 1 C; k1 u2 e( |/ o0 d" T/ Q5 }5 d
{ int i,j; : m$ `: A, e4 b8 V$ H, m2 P+ L! o
for(i=0;i { printf("\n please input %d of %d\n",i+1,N); & E+ Q6 p9 z. {( x
printf("num: ");
# Y/ q( s$ c* {4 S: t+ b+ oscanf("%s",stu.num); , J& i1 J: Y% ^: X/ @% B
printf("name: "); - k& v* t' H/ u; L$ y+ }
scanf("%s",stu.name); , I" j* a/ K' G2 ~
for(j=0;j<3;j++)
% H+ t  B' Y4 U5 r, Z8 t* n{ printf("score %d.",j+1); 5 O" Q; J* b9 H( a: E: v
scanf("%d",&stu.score[j]);
" s) B" o4 n+ s+ s! L: q}
# B! r" X. i' @6 Lprintf("\n"); ) z3 }1 T+ R! Y7 |0 y
} - A6 i4 g: i0 `( k9 q
}
- {4 y# j  e+ E1 L5 E8 Vprint(stu)
- N4 ~$ A- H% G+ jstruct student stu[];
3 a4 q( G8 K. b* ^5 W{ int i,j;
. Q/ D, p& n9 _) S) Dprintf("\nNo. Name Sco1 Sco2 Sco3\n"); * ^' O7 I# ~* o
for(i=0;i{ printf("%-6s%-10s",stu.num,stu.name);
# G; q/ r( `. _* u$ T+ Xfor(j=0;j<3;j++) ; W$ K5 F7 Q& d: q
printf("%-8d",stu.score[j]); % w/ M  `% |4 a. C2 _& h* ~4 R0 f4 m
printf("\n");
; b6 N/ Q" W7 s# t, A& s$ `9 D} % N% A  L3 D! ~
} : p4 |+ `* M  ]/ A
main() " v; _& m& M9 U+ e" S, F6 {# }
{
/ N2 P% I1 b" ^% K' S& `' Rinput();
5 h" W6 \% D7 ]9 i) Oprint(); - O( e8 n( Q3 ?0 u8 o# \) t
} 1 y! c4 G; B7 [! u. m9 ~) O3 z
==============================================================
! u  P4 E# v5 Y【程序72* ]" B3 ~  C0 R' `. a0 B' u" m% z
题目:创建一个链表。
! S+ T% V5 \) j1.程序分析:
! I" \/ G. X3 a" ], W9 f+ S( ?  d+ D" w2.程序源代码: 7 W$ E% Q7 W' E. h' A
/*creat a list*/ 1 k+ F) [8 G% K1 B/ }1 P8 _+ k
#include "stdlib.h" ( z, p- Q6 I" V9 n; x
#include "stdio.h" 7 i2 L4 Q* W' h
struct list
7 G% |" y( X, R3 A0 m1 D9 J% p{ int data; ( H* B' s, Y# Y* I) l  G' B2 P
struct list *next; , l9 r2 @- e+ I+ d7 {4 c/ g) \
};
; @& y* n3 o" ]! n) b* Gtypedef struct list node;
7 u5 z+ W8 x4 I4 q3 i, Ftypedef node *link;
& u' C$ d" D7 Cvoid main()
; Q4 k  c8 B9 J) Q$ s- S; Y{ link ptr,head; 9 E% m5 x5 l! K. g2 z% L
int num,i;
. O1 L. r! ]) `, }# y+ W' [& B' z# tptr=(link)malloc(sizeof(node)); 3 x, C/ {+ ]6 x" \5 L0 `$ n2 R8 Z" q
ptr=head;
) V: Z7 h' k' f4 ?printf("please input 5 numbers==>\n"); 6 J; U7 z0 @/ P# ]" X/ }
for(i=0;i<=4;i++) 7 n( J* e% j: f: ^- {! M
{ 2 L7 C  P2 I) i7 l! \0 D/ u5 z
scanf("%d",&num); # `! {, o# {* k
ptr->data=num; / A1 Z  }8 t& E* s
ptr->next=(link)malloc(sizeof(node));
  z0 b# N$ w4 R* f: h) [, L/ eif(i==4) ptr->next=NULL; $ s# s  `. O6 z
else ptr=ptr->next;
7 g) V3 `5 D$ q9 L1 q} 3 V' K& c8 I& }/ N  k) \
ptr=head; 0 M5 ]4 _- Q: q+ W! T- ]
while(ptr!=NULL) . A1 Z" L; V% r0 O
{ printf("The value is ==>%d\n",ptr->data);   M% h% z$ Y, @
ptr=ptr->next; 3 [4 }: e) n+ ]* r
} ! ]9 j. X+ W( X3 }
}
4 R% y, p) P8 i0 q============================================================== 3 U  h3 N" s% k9 }( p
【程序73- q. I2 u% q) b+ c
题目:反向输出一个链表。 ! q6 P: {8 Q2 o9 t* h. V0 T0 @
1.程序分析: + N  R$ I0 \$ z, f8 |1 N$ F
2.程序源代码:
3 l; o! N9 f8 i/*reverse output a list*/ : J/ Z" ^2 b) s* y8 u3 J" \
#include "stdlib.h"
* Y+ m# H- I- B$ G; c#include "stdio.h"
- Y1 y& b0 @9 M% R5 X7 Qstruct list . M$ k. H( ?1 q
{ int data; ! j, S0 ~8 ^0 g4 d7 r3 `' [' p3 _
struct list *next; - c2 N% y6 i8 G+ C' Z* R
}; 9 U. _: n1 X6 ?% ?  H& @
typedef struct list node;
+ @% G3 v$ R1 ?2 k* [typedef node *link; 6 `, D' k& K9 A. c; |
void main()
% J5 D, t: I: }{ link ptr,head,tail;
5 ]6 ~/ ~/ C6 q( u4 D. gint num,i; * j/ W8 G# S2 f3 o
tail=(link)malloc(sizeof(node)); # I8 E: o! g; |; t9 ~. S0 Q: D
tail->next=NULL;
& M/ N  v; F% w0 ]ptr=tail; , v$ L( P4 h* W( v8 y" p
printf("\nplease input 5 data==>\n");
9 f. _' T+ u3 `, yfor(i=0;i<=4;i++)
2 D# l) R% f  X; s{ & x' H- Z. v* _( y
scanf("%d",&num);
5 z. u- d5 ]( E; \" s# Jptr->data=num;   |* s+ \8 e3 O# m7 K3 n7 y
head=(link)malloc(sizeof(node)); ' S. {! d$ s2 C( p, A) v
head->next=ptr;
+ `3 S( ^$ o! i" Yptr=head; % q" h8 k9 _0 A6 v
} , J6 g* W- c% _
ptr=ptr->next; # C- U* L. R  K# ^% t( W
while(ptr!=NULL)
6 U3 A$ W9 _, |* g- i# W{ printf("The value is ==>%d\n",ptr->data); / Q! w7 r0 \: J8 U- W
ptr=ptr->next; 5 m7 u/ x$ `% L4 j8 i4 Z
}}
% Y# a3 M4 M9 z5 E  b============================================================== 4 o+ S* ?/ t/ ^5 @
【程序74
2 t# b) h# o; L题目:连接两个链表。
/ Z/ y1 T! L8 G. D" x1.程序分析:
- d' x/ a6 c: a' q2.程序源代码: ) y  G; d5 b" Z( _+ O
#include "stdlib.h"
, |/ K* c  g* O/ C0 S4 L0 S* T#include "stdio.h"
2 _4 |0 S; o* X- b( y0 tstruct list
  O9 w$ e* r; H( A' O7 {" R" U{ int data;
/ l# I* H/ n% T7 r, A2 }; X( zstruct list *next; 2 Z; K& B" W3 c1 Y# L
};
" H: y7 ]0 z3 L& a/ P) gtypedef struct list node; + r6 ^8 ]  c) F% u
typedef node *link;
, ~& ]8 O6 `0 A+ e# D2 x) V& Llink delete_node(link pointer,link tmp)
, E- F# I3 k- ?( p* m8 x$ C! j{if (tmp==NULL) /*delete first node*/
( o5 `$ N$ J2 H4 q1 g& K' oreturn pointer->next;
1 k7 {  X/ W# S; `else
) t+ P1 Z. _, [  r) u{ if(tmp->next->next==NULL)/*delete last node*/ , X; e7 z+ q; V& i8 x5 I+ @
tmp->next=NULL; % e! D7 U! D0 W
else /*delete the other node*/
5 K% _  H7 R+ x3 L6 `tmp->next=tmp->next->next;
2 A3 Y, F7 N, p; lreturn pointer;
8 z, J" P( y; F) I. \4 M# k}
1 t5 {- _8 W% g0 i, m, \2 T% S' C} 5 w. K( G# b: _
void selection_sort(link pointer,int num)
& Y/ [6 z9 _( W- t: R{ link tmp,btmp;
' J* |5 d. h1 A4 \. fint i,min; % d3 G9 J1 d) d7 J/ s, p' }
for(i=0;i {
" O2 A' z1 e2 l% c8 N) ftmp=pointer;
; H1 Q* \, K. C# J/ g* v) n2 ]min=tmp->data;
0 J$ Y" p6 L" \btmp=NULL;
% \* ?5 Y2 ~1 w$ z/ q( U8 Gwhile(tmp->next) * K5 ^. n8 j9 s/ T
{ if(min>tmp->next->data)
8 c8 _  F0 w; G# d# @) U{min=tmp->next->data; / G  l7 I7 ]- f/ M+ _
btmp=tmp; 3 D/ D8 {( w/ q, U
}
( u/ ], ^) e- I0 @* _% wtmp=tmp->next; 4 V! `! s7 f+ X, ^& V" p! f7 `0 F
}
- R! e+ @, I0 F) u( h+ e- |printf("\40: %d\n",min);
! `* a" q2 C; p9 t, ^8 Ipointer=delete_node(pointer,btmp); 4 l# F( D$ C; X7 Q# n
} ( ?0 W+ V2 b4 X
}
; v) |8 Z6 {' o% q9 b/ W1 Ilink create_list(int array[],int num) ; O) \% T9 D% ?: i. M" a
{ link tmp1,tmp2,pointer;
' M8 x3 g2 h5 f6 q; g" ?" y- |int i; 3 g4 }. w$ F8 _5 [2 x% C, N
pointer=(link)malloc(sizeof(node)); * i8 s7 n6 R" p, ^+ P
pointer->data=array[0];
) g. q- O5 U) K' u9 ?6 K6 ?tmp1=pointer;
& j# ?" k7 M- c  Ffor(i=1;i{ tmp2=(link)malloc(sizeof(node));
# f% T( j9 g4 m# U8 ^tmp2->next=NULL;
/ E" B+ v% ^$ m8 Vtmp2->data=array;
* B6 X& k. V& O# ?! j* {tmp1->next=tmp2; ; O+ R" h7 \: i9 a
tmp1=tmp1->next;
2 P! b: D0 h1 i& {} 5 ^: g& A& t" Y* i: n
return pointer; - A( M. i, f" b+ O1 f
}
' i) h& q+ d9 d& Ulink concatenate(link pointer1,link pointer2) 8 G+ Z9 e' j; T+ J
{ link tmp;
7 N2 R  z/ z. b5 _tmp=pointer1; # m8 }: ~6 U" W1 J# L7 g
while(tmp->next)
- ~: c! m6 n5 [/ ?tmp=tmp->next;
/ _& M+ \! N" D- f' w; Utmp->next=pointer2;
! d) M2 a5 S- \" i. p9 rreturn pointer1;
) n5 u; W( _( |* i  G! `+ F7 B}
4 A* m& A% W8 g! T; ^( ?/ K( Q. Wvoid main(void) ; l/ ]# \' v& v) v2 E
{ int arr1[]={3,12,8,9,11};
/ |$ G0 G' J3 Jlink ptr; & U# v5 `1 I, v+ ]( J0 A. P
ptr=create_list(arr1,5);
- ^) ], Z: K5 j3 |selection_sort(ptr,5);
9 |5 A/ h' _4 u} ' P: S5 I8 g6 ^0 C+ t) Q3 u
============================================================== ( S& i* b5 K; m4 i
【程序75
' d6 v4 e% z- d6 {- l* J题目:放松一下,算一道简单的题目。
/ t) ?( h% A  S1.程序分析:
3 n6 R; J8 i9 p. g8 x6 s9 `7 Y1 U2.程序源代码:
* ~! G2 v* R: Cmain() ' P5 k0 K0 Z% a  Y* X6 ~0 y# M& i4 |
{ 7 [, g7 x8 S& q1 K, A9 i4 P0 h
int i,n; 4 K$ X- y! z4 d2 Q0 T
for(i=1;i<5;i++)
$ }# f/ i) R( N' W4 y7 u+ v$ C{ n=0;
1 t. E9 Q6 C4 hif(i!=1)
( h! o+ l/ j+ C- d! N" \% on=n+1;
$ ~4 J% L! m- s2 R# Q# xif(i==3) ) d3 I% |2 R. h& k
n=n+1;
' p0 [$ B: |0 a- M: h! A1 W, K$ [: mif(i==4) 0 ^! C6 ]# ]6 [" g
n=n+1; 4 K% ]% U, g& c+ l
if(i!=4) 0 m$ w7 `% w" D3 x4 ?" V
n=n+1;
) x- L0 ?5 ^8 c0 ~9 @$ p3 J+ Hif(n==3) ; d& v- F9 i/ q% s) S3 x4 G
printf("zhu hao shi de shi:%c",64+i); 2 R$ W0 F! G7 K% A
} * T" L  o- c  P' W9 c2 f) A
} * x/ I  ?5 i) J: c/ q
==============================================================
$ J, n% |$ p* F" z0 w3 w8 j! d3 ]【程序76
4 B1 C9 M3 y7 Z0 M题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数
/ \  z& J& \1 x! k6 c/ t1/1+1/3+...+1/n(利用指针函数) , D( Y  Z( [* y; B( R" X
1.程序分析: ) Z9 u% x; W3 Z, H% D  B, k
2.程序源代码:
8 L3 k6 T$ E7 C% f, B& g, k" smain()
+ A6 f3 @2 N) N* G6 x. M#include "stdio.h" 3 M8 p: y$ m7 F$ }# @) I& t
main() 4 G6 u& s! L# D! D* f7 d" w) t
{
- ?9 t$ V' M/ a! |6 F, Yfloat peven(),podd(),dcall(); 8 |( x( U/ r' s$ u! {, L- h
float sum;
8 P, S: W* A" h+ S# \9 n$ Bint n;
9 G% B  b) c6 ?. v, n  ~while (1) - M4 ]( m2 t3 j% F$ W  Q! M
{ % r% U- F4 B9 _. ]/ U
scanf("%d",&n);
) I- T7 Y: ?. |& ^- X  r9 l) Jif(n>1) 0 g+ x* r$ ~4 l! ^2 g  K4 `; |$ N
break; 8 F4 G7 ?8 X: u( u5 e
} $ R3 L; G8 Y5 V8 q! b7 c9 y. M
if(n%2==0)   E3 `( \' \0 f+ R
{
; Q0 b" I* E. _$ b& l4 c" h9 kprintf("Even="); , ^# S/ `+ f$ U
sum=dcall(peven,n);
8 w( F1 K& u( e! M$ h% J9 X} , X& k/ j  Q5 E
else $ Q% i" d, v7 f
{ 4 H( }; @7 G/ {& M2 d
printf("Odd=");
& F. @. R' y$ c0 G  ^0 t6 Wsum=dcall(podd,n);
' s' A, I8 H" S* |8 `}
8 ~) A( }: t% uprintf("%f",sum); & V& B4 M7 d$ a, E
} # p) x2 L; G& h2 I3 D
float peven(int n)
3 [4 Y. @7 f2 \9 ]7 P{
0 i- s7 D8 t2 S1 h' G/ m7 Sfloat s;
% h" f2 `+ V  {* L2 Kint i;
7 ~9 r5 f( r2 Qs=1; ( _2 b; U% M/ J: p
for(i=2;i<=n;i+=2) 1 y/ x0 \, o6 V$ s* G+ x
s+=1/(float)i; 9 c5 y, f3 B5 _
return(s); : A; g8 _8 w/ b1 b. @5 q
}
+ M' w+ D! J9 }4 [/ gfloat podd(n)
9 {+ k) F3 Y$ R, b- o& O4 r) lint n; 3 t/ F" G6 w1 H, o2 J
{
( N3 ^. m0 Z- kfloat s; # h$ K5 P4 j* J( o) G& {6 }
int i;
& ?! [( K! s; z  ns=0;
* }# o* P$ F' U& j% |( e" ofor(i=1;i<=n;i+=2) ) d0 z: {1 @1 ~1 w8 z) Z! v
s+=1/(float)i; . P, ?: l( G5 l% H' P
return(s); # @- t- U, c' d, q+ l" i5 A
}
( j  \( c! N6 P' f& yfloat dcall(fp,n) / S- h8 I$ J6 e! S
float (*fp)(); ) D/ e: ~7 U1 s* q: S
int n; " K; M% g$ I: @4 q7 n) q5 s: E; R* j
{
: a- M! I! m7 Y+ gfloat s;
( t) n7 j' G; N4 Ns=(*fp)(n); 5 g2 A+ f1 B: a4 Y
return(s); 9 I7 I5 j; G) M, W6 O
} $ S2 S. s( ^, R8 s! d
==============================================================   p, {4 _2 n* }* f" ?$ l* E9 x
' s3 D, S0 L7 p2 N$ q
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-2-19 06:18 , Processed in 0.059212 second(s), 33 queries , Gzip On.

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

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

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