机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 1887|回复: 1

C语言算法经典87-94

[复制链接]
发表于 2017-10-12 10:14:07 | 显示全部楼层 |阅读模式
【程序87
( o/ }9 J1 d! U% {+ c5 P题目:回答结果(结构体变量传递)
( N; W" Z/ I4 d( T. o, X1 g1.程序分析:
8 l* {0 W$ h# q" X2.程序源代码:
3 ^8 V, R5 l1 M1 ~+ ]#include "stdio.h"
' a: p/ d& W, Y! W# p: s, Qstruct student
- r$ v# v2 X2 U) i3 R; ?) f' X# `* O{ int x; 1 x* o. @& p, }7 Y2 g  K. B
char c;
' k0 O8 Y( s) L) [& ~" d  ^} a; . a$ {" ]( o4 P
main() ; e4 [7 h/ S0 b9 J/ O
{a.x=3;
$ o- @# L5 Q* U  j8 l8 t. d; Q# y) ]a.c='a';
* k9 K% x0 p: p: d+ p& ]4 a. R, E4 yf(a);
! ~2 l6 A1 ?& ~  C  n. S0 Cprintf("%d,%c",a.x,a.c); $ E* B% ^3 [5 J! ^4 s! R+ g
}
. D, ~6 y8 x4 z/ ?; b% Of(struct student b)
3 r% g& @  [2 A# @; k{ 2 @# J  ^/ z' a  n
b.x=20;
' o; J0 l/ K/ G3 e2 P; fb.c='y';
' A+ C* w2 i, Q* Y} ' y; g" Q! G1 k2 H& e
============================================================== 1 n1 h- o0 R* |, `# L
【程序88嵌入式信盈达企鹅要妖气呜呜吧久零纪要
1 |) v4 k, w; D2 m5 g* W. r题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。
) X9 b4 a( k) j3 L1.程序分析:
7 V6 ^+ W1 X* a5 H2 l2.程序源代码:
9 c5 V! S2 d( i! s7 J& \) l0 Y4 Omain()
7 T8 v. ?" q* p  b' _$ s{int i,a,n=1; ; L( X6 l  H2 Q
while(n<=7) / D9 K9 H1 I. m
{ do {
  N/ I$ S% ]7 G7 w: fscanf("%d",&a); + y! M" ?2 f0 k
}while(a<1||a>50);
; V4 p1 x3 m  _8 O* C# U4 Cfor(i=1;i<=a;i++) & }! t& ?" ~9 B& `
printf("*");
+ ]2 c; d' x$ |2 r5 fprintf("\n"); 7 W3 e7 M* E$ N( z3 S8 X/ r- I8 ~
n++;}
  R/ z. ?. m* J0 L- g: J' _getch();
" H. T+ H8 M3 ~* ?9 R} 9 u. w& l3 W4 i6 o$ b
==============================================================
- c. r: b0 G7 }: G; S) b8 n【程序89
: e( o+ n: c7 ^4 b6 T  E5 I题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:
0 O- b! o8 a! G% a每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
! M1 K3 t* o6 `& j& k! M1.程序分析: ! s  J$ e3 n5 B4 q& |/ w7 L' P
2.程序源代码: , Y; @, ?* B" g4 d9 y" k
main()
! {6 Z" o, v6 X5 ~+ T9 O" c& @{int a,i,aa[4],t;
$ p5 u# a9 ?8 Fscanf("%d",&a);
3 ~, \% ]; O- D* E4 d4 a( naa[0]=a ; 2 }( Y8 v' m$ k# N! d) k) f
aa[1]=a 0/10;
3 i( O/ J, g  a( l+ \1 P' n# B5 Maa[2]=a 00/100; ' i  L7 T, a9 k8 F: D2 g" z
aa[3]=a/1000; 1 y" W9 u0 [  n
for(i=0;i<=3;i++)
6 o3 T3 N/ u" q8 f* z{aa+=5; 6 V- f# o: @+ H2 t7 [$ o
aa%=10; $ N3 J* E% L- W6 h$ G# f' r; L7 w- J
} ; T) p8 F. k7 A! x4 h
for(i=0;i<=3/2;i++) ) R4 F( N( p- ~3 H+ L0 }, ]
{t=aa;
. s6 y4 ]& d4 V2 K( E0 jaa=aa[3-i];
* K$ P& N2 U* ?* Gaa[3-i]=t;
% X5 x$ b; v; I5 z5 [- M; s}
, L5 Z- W% S+ |8 {for(i=3;i>=0;i--)
% V' ^9 O+ w* k0 [$ e2 \& Y+ Gprintf("%d",aa); 9 H1 _$ b; z  m5 v0 a* j
} ( G! x% ?3 K3 I4 E$ P2 D' R6 b( H
==============================================================
( T& d; p" E( V" t# X3 o【程序90
) q$ D4 q6 {. T4 T- ]6 M9 ~题目:专升本一题,读结果。 0 l2 t. s* I2 ~9 B8 }2 M- ~4 o
1.程序分析: 5 I. f. t+ [2 P6 c- m1 A; G
2.程序源代码: / O- E! i% F; Q
#include "stdio.h" " F0 V% F$ D% L! r" P
#define M 5 + n, X% j9 x3 A1 @
main()
, `$ e9 A$ ], h2 C{int a[M]={1,2,3,4,5}; : @) `# `2 Q- P7 X, h
int i,j,t; " M  _& y& h6 G4 e* c' ^
i=0;j=M-1;
# I) J5 l. [: ?( Y' t  v0 `while(i {t=*(a+i); $ u( F9 `/ U6 r
*(a+i)=*(a+j);
5 X7 @# I" W, G*(a+j)=t; ! |. E5 v  V' f0 A+ v. P
i++;j--; , V  G. t! {6 [) k$ \
} $ H+ _+ r: L" D; i! f
for(i=0;i printf("%d",*(a+i));
- I( l% l8 E, n}
9 v% V% B; I/ ^* ?  _【程序91
; U* \+ o$ z+ O$ p# K% r题目:时间函数举例1
' b2 q5 a1 J. v1 k, Z1.程序分析: / l9 h( T4 ~% y4 p1 _$ a
2.程序源代码:
' O% P6 r/ N* L; a& `7 }#include "stdio.h" 6 y! K: @, [, e" X! Q
#include "time.h" 7 u$ O+ V; d" N. o6 w
void main() ' m& w5 E+ t4 n8 F! D# e" o  _
{ time_t lt; /*define a longint time varible*/
: }- n0 ], |# t4 Klt=time(NULL);/*system time and date*/
9 ]) ~) @) R8 nprintf(ctime(<)); /*english format output*/
5 `+ N2 a9 t5 p& pprintf(asctime(localtime(<)));/*tranfer to tm*/
& }4 ~4 P; y; _: I) ]" A: t5 Cprintf(asctime(gmtime(<))); /*tranfer to Greenwich time*/
- E! ~8 Q7 h4 _5 X9 ^4 F6 K! d}
- ^/ O8 k6 f0 @) I============================================================== 0 r8 J% S$ w: u5 c/ ~/ U
【程序92
5 J' u. s2 @  Z. D题目:时间函数举例2 ! [7 ^9 {9 O" I. v9 y# _
1.程序分析: ) c9 Z. U. o  A9 R( @
2.程序源代码: % k- _& _& h8 e' i% ?: l% |
/*calculate time*/ # S8 `3 l/ C) A) u
#include "time.h" % p- A; y, T* M; E( y4 \
#include "stdio.h" 2 d# @1 h. ~( i, l; `% t: v' ~6 b
main() 0 t2 L+ j) K9 [( n
{ time_t start,end;
6 h8 `& R) u) Q( Oint i;   J, v4 i" j! N$ E! ?
start=time(NULL); 4 i: A4 i/ `8 J1 G/ Y6 `5 d0 X# O
for(i=0;i<3000;i++) ' F1 u) f7 ~' I. u2 J! M1 L( @9 \
{ printf("\1\1\1\1\1\1\1\1\1\1\n");} ( o, r, |. ~3 t% a/ u/ a/ Y8 A9 v4 W: B, z/ y
end=time(NULL);
/ x4 |3 L: d) T2 i) Mprintf("\1: The different is %6.3f\n",difftime(end,start));
1 h9 m3 m7 O- y$ q( B}
# l7 K2 m4 r1 g( g8 ~/ q============================================================== , R" {) K; V% ]8 r6 M
【程序937 o9 r0 C& \0 f3 P) ^
题目:时间函数举例3
0 [5 c+ U# s' P& ^% f4 K3 d1.程序分析:
8 i3 w; V& v% d/ f" o2.程序源代码: ) \- B+ n; N! @& P  H" t0 U
/*calculate time*/ 0 _5 R- _$ t* H" Z) o
#include "time.h" $ x3 j& B* D; Z8 s( g% X1 ]) x
#include "stdio.h" . T3 l' }2 }1 e  c9 c
main() * x! w$ v: w6 s% e. E) G& s1 o
{ clock_t start,end; 8 Q# I* H* A/ g: w1 j0 S3 C* c, E
int i; & t/ [: y. i. A" k2 L" N# W! X
double var;
  V# O4 R* [! a" u: [1 U9 J4 W/ V5 q2 \start=clock(); 8 S* i% z! T- R: N( t, t
for(i=0;i<10000;i++)
9 x* p7 r* F: `$ |{ printf("\1\1\1\1\1\1\1\1\1\1\n");} , `+ z: u0 N2 K" N$ ~- z
end=clock(); / Y; I& a: F" ~, z
printf("\1: The different is %6.3f\n",(double)(end-start));
. Q) w0 i7 e( g$ R, T- x& F}
2 J) B; Y" L/ ~5 O  `============================================================== 9 V* Z/ }4 p9 p
【程序94
) D3 w$ A% L3 v" @4 ~9 ]: y1 C题目:时间函数举例4,一个猜数游戏,判断一个人反应快慢。(版主初学时编的) 0 ~& _/ h  p4 N* H1 a
1.程序分析: . k- B) k6 v6 Y% f& @. d
2.程序源代码:
$ M  ]5 o& p7 e5 P# q% i#include "time.h" / T. [: j" T3 P) P  K, P. s
#include "stdlib.h" 9 ]  g& @9 u0 t/ t, v
#include "stdio.h" : p/ ^0 ^' J, _/ v5 B
main() + p% M+ V1 F/ }3 G2 b7 V
{char c; 4 M( z! m4 g) q" Y9 L) B6 l( _2 h
clock_t start,end;
# d6 ~6 ?2 J: `5 [$ \9 D. otime_t a,b; 0 r  C. T* v. S/ _2 f' i7 {0 ]
double var;
5 W; {' r( x! [, U0 S7 Q9 L7 D- \6 uint i,guess;
( O# o) @2 U( l0 U! n; R2 Y! K3 ?, Qsrand(time(NULL));
, i& U/ m, U% o- @  A. p1 Cprintf("do you want to play it.('y' or 'n') \n");
, q8 A$ F* b% x7 n9 gloop:
2 t3 k4 a' w0 [while((c=getchar())=='y') 2 d) I0 x! k( Q1 b3 R# c1 a9 S
{ 0 T$ N9 M' z$ K* d6 D! ^
i=rand() 0; 7 @- B$ m! U8 v. Z* H5 C
printf("\nplease input number you guess:\n"); , U( x0 X& A* W& T/ Q
start=clock();
" ^2 I* Z+ G) H- Q. w" r. N+ Ba=time(NULL); 4 c* v) O- @3 C4 A; Z4 A
scanf("%d",&guess);
  W0 u1 k, [1 Q4 Ywhile(guess!=i) ) ~+ i. ]% {# ]; S$ k5 A
{if(guess>i)
( v% I- `1 t1 d2 w# |# c+ \1 ]# P{printf("please input a little smaller.\n");   M4 n7 l1 e% v
scanf("%d",&guess);} , l: F; S# R, `, N7 u
else
; V7 N0 E3 v7 N" O: h! F5 k{printf("please input a little bigger.\n"); . l+ m1 y& G) H+ U: f
scanf("%d",&guess);}
$ y9 `' T  g( f4 a} * B" k/ b4 y& {- f6 N
end=clock(); * q' W# J9 f' K. D. c, ^% W# N
b=time(NULL); 6 Q7 O$ o) p4 J8 F6 N$ D% X) \: d- x6 r7 k
printf("\1: It took you %6.3f seconds\n",var=(double)(end-start)/18.2); $ g$ Y9 ], z8 x1 \: K' |0 D! V; u
printf("\1: it took you %6.3f seconds\n\n",difftime(b,a)); ) r. ~1 P" r' _- p) X
if(var<15) ) J* B; \0 X2 f. Y$ L# P
printf("\1\1 You are very clever! \1\1\n\n"); $ ]0 Y4 @; @4 L4 a4 x& s/ t# F, e$ }
else if(var<25)
2 d5 g, r# u) p: i" A0 mprintf("\1\1 you are normal! \1\1\n\n"); : C$ h' w( \& y, k' ^; H
else ) B5 A4 l" X' ~* h5 v( p: D
printf("\1\1 you are stupid! \1\1\n\n"); " Q1 [4 _9 o4 V# s: k" \
printf("\1\1 Congradulations \1\1\n\n");
/ n8 m; C- i, e) l: U0 cprintf("The number you guess is %d",i); 0 d# y, J% ]4 h& T8 V+ u' l7 ?( A
} ' J7 M+ A1 Z( i0 @3 @) a. e
printf("\ndo you want to try it again?(\"yy\".or.\"n\")\n");
9 K: D" S) e# C+ Lif((c=getch())=='y') 5 s7 D0 T4 n2 j- L" q' U
goto loop;
- z3 n9 L. [$ X0 t! q4 L: Y6 ~}
6 [9 |" q: N* s" I2 N* C
回复

使用道具 举报

发表于 2017-10-12 10:29:05 | 显示全部楼层
我一路跟着学习。谢谢楼主!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

小黑屋|手机版|Archiver|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-2-19 06:25 , Processed in 0.067581 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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