機(jī)械社區(qū)
標(biāo)題: C語(yǔ)言算法經(jīng)典87-94 [打印本頁(yè)]
作者: tainqing 時(shí)間: 2017-10-12 10:14
標(biāo)題: C語(yǔ)言算法經(jīng)典87-94
【程序87】
1 V$ R6 m |9 w" q題目:回答結(jié)果(結(jié)構(gòu)體變量傳遞) % K, O1 K! U+ S3 B
1.程序分析:
& V: S0 K& B& r+ V( d. q2.程序源代碼:
# a/ i5 L7 D* e7 o5 B8 _#include "stdio.h"
1 r! A* i8 e! c4 m* B- Bstruct student
E7 q" R) G! ~+ c( L{ int x; / m% b( `7 b4 K1 a8 W5 X: Y
char c; 5 y- k4 c5 h5 V6 n: ?1 q
} a; " g) c$ H' _5 p8 ?3 l" B
main()
& c0 S! h$ g I) j% [1 R( u{a.x=3; * A Q+ `, l5 ]4 R A# n7 y
a.c='a';
7 I G! T% K( [9 N3 h" Xf(a);
! C1 o5 d: @( i" p& Qprintf("%d,%c",a.x,a.c); - v+ f. y( J9 |9 `. U% w
}
6 A7 f& c3 ?/ T7 _f(struct student b) ! M$ p2 n+ V$ I2 n9 q
{ . g) h S: K& Y, ?/ {2 N' L. b, D
b.x=20;
0 X _2 x8 G' r- I1 lb.c='y';
% N" E! c% P E( N3 d}
3 I# ^6 H& S$ W==============================================================
5 t( C* h& \ s2 z- k【程序88嵌入式信盈達(dá)企鵝要妖氣嗚嗚吧久零紀(jì)要】
) ?7 w0 g. }9 R+ D題目:讀取7個(gè)數(shù)(1—50)的整數(shù)值,每讀取一個(gè)值,程序打印出該值個(gè)數(shù)的*。
' o- L% g! t. o' ?1.程序分析: 3 ^- O' |0 ] ~3 `$ k0 }
2.程序源代碼:
# O: x9 ]& q/ d r2 J2 M: vmain() 6 Z5 O$ Z7 i* i
{int i,a,n=1;
) f; ~# c: N6 X! v6 gwhile(n<=7) / J0 f, D/ m. U( f- f
{ do { / o O. u. B! C7 g# z: z$ w0 h5 [
scanf("%d",&a);
+ i6 z0 c/ }& c, b3 [, p8 N}while(a<1||a>50);
F: {( w4 ]. }3 w9 G6 b: `for(i=1;i<=a;i++) ' I, k8 E' N/ V9 _, O5 E) }
printf("*"); ' ^* E: v8 b5 J- q6 _. D$ z
printf("\n");
1 d; c Z4 {. E& Q& E) D) W: Un++;} L+ r- y1 F; Q/ x- {
getch(); % J% ]" t6 P' K$ x* Y
} , w+ R* p7 z5 m0 G
==============================================================
! F& A( o' x H- z【程序89】 5 U! \. g9 [) j
題目:某個(gè)公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過(guò)程中是加密的,加密規(guī)則如下:
; ^: s; K* j. O3 |4 N8 B- ]9 q y每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。
* W4 T# s0 Z& J3 U+ I0 r1.程序分析:
. s$ v D! `5 A7 L* _2.程序源代碼:
8 s. w* D3 l# V; N7 @main()
& f& P7 ]2 Y) q& B- x- J{int a,i,aa[4],t;
0 c# b+ H* ?/ kscanf("%d",&a);
7 ]/ u! W5 D, S! _& r4 P$ Naa[0]=a ; 5 {5 G d7 }1 g* x, \
aa[1]=a 0/10; & n2 B6 g% f6 M$ N: Z
aa[2]=a 00/100;
. t7 j& q2 ~: l9 J0 a" A2 G1 Xaa[3]=a/1000; 0 W. b1 y) ]% w' I
for(i=0;i<=3;i++) 7 \5 l0 K0 J, d" Y p
{aa+=5;
" H% t7 [# |* h0 l) Z0 `9 V5 ^) F1 Vaa%=10; ; Y3 r! C- A2 J
} + ~, v# | B4 k8 r% q5 I! s" Y5 m
for(i=0;i<=3/2;i++)
}, ?6 z' `3 d; o% K% s4 I6 B{t=aa;
( K+ ~7 t: w# Z! _aa=aa[3-i]; $ `; P; L* S' B% B2 X: X r
aa[3-i]=t;
$ i. d7 ]* i, h* M5 S} $ `8 `4 {0 {. U
for(i=3;i>=0;i--)
' L' r. `$ K4 p! \, Vprintf("%d",aa);
) J$ }" r$ a8 u3 _9 t: T} * y- Z+ g' [1 c0 C
==============================================================
2 I9 W" W2 B7 P) f【程序90】 * z% ] K3 o2 i+ n
題目:專升本一題,讀結(jié)果。 6 f1 O4 h+ G" g6 W8 z; _, ?% f) `
1.程序分析:
6 B/ }: X& Z: a' S9 W' v3 F1 k- M Q! |2.程序源代碼:
1 F3 {, m; }2 ?: ~( W- v#include "stdio.h"
" }& N& Y9 |' h9 T- i6 Q2 ?' k#define M 5 + u( z; k- y* S: Q/ Z
main() 1 c& U- Y5 I0 ?
{int a[M]={1,2,3,4,5}; 6 E) Z9 j! K- ~6 {" z
int i,j,t; 0 u9 [4 g0 e8 `9 Z. s
i=0;j=M-1; / Q* h3 W, E; w/ u! j- W" m
while(i {t=*(a+i);
" d' i2 a2 u+ n1 x: A1 q*(a+i)=*(a+j); 6 Z4 g3 m0 _& l' h0 j3 R
*(a+j)=t; & U* |* Y# o" z7 P s
i++;j--;
~9 U9 N$ Y1 i) _9 K}
. e( V3 F( x; y5 Z. \9 pfor(i=0;i printf("%d",*(a+i));
$ f7 Y' |8 P0 F7 ?7 b- L$ f}
7 _ \4 _5 L0 y4 K" s% F' {【程序91】 1 b% Z2 u% I" i) S) B# ~" Z' u
題目:時(shí)間函數(shù)舉例1 1 C7 Y7 b4 L% \2 D9 A5 t
1.程序分析: s2 T' |) ]' I5 D
2.程序源代碼:
- V6 {) U2 [+ V2 J#include "stdio.h" 9 M( R8 O( e6 G& K& B9 L, U
#include "time.h" - t" O8 A/ ]- n0 J$ u+ I
void main()
8 u7 |+ \6 i1 x9 b{ time_t lt; /*define a longint time varible*/
+ I5 H! j' Y7 B# F# E$ K/ Olt=time(NULL);/*system time and date*/ & N b/ ?! S5 f* P j8 C
printf(ctime(<)); /*english format output*/ E2 Y* k5 n+ O! ~& T
printf(asctime(localtime(<)));/*tranfer to tm*/ $ K% W+ X, i* p
printf(asctime(gmtime(<))); /*tranfer to Greenwich time*/
; F1 e) }) [/ k" ]6 c} ) _$ u: C8 e) U
============================================================== ( ]# d( p P7 L, w! Z; L( B" q) u
【程序92】
6 J$ |$ h9 l# J' g" ~2 P3 t& y題目:時(shí)間函數(shù)舉例2
) S" l" o5 h: u: H: G. q1.程序分析: ; T! v6 [) {% N+ U4 [( A: v" j
2.程序源代碼: 9 N( r s+ l2 o. n
/*calculate time*/ 2 i% ~3 h8 [$ b N g/ ?
#include "time.h"
: c% E2 c% U) f+ e- l3 m& e& L#include "stdio.h"
+ V0 o+ Y6 x3 G3 Z9 Q% m( imain()
' w; s3 O- Q8 z# V5 q" t' Q{ time_t start,end; / K; T# U' x3 U( K2 i% P
int i; ) A8 [* X3 h9 Z& J; w: y
start=time(NULL);
7 I! H4 c$ O/ ]) rfor(i=0;i<3000;i++) ! T2 ]# E9 u9 a, ]# M
{ printf("\1\1\1\1\1\1\1\1\1\1\n");}
1 W2 m+ {# n! b/ V. K% {end=time(NULL);
6 A' w, Q7 I5 m" T! c! [printf("\1: The different is %6.3f\n",difftime(end,start));
6 e+ U- W I; c}
Y# G3 x, F, K* U==============================================================
! I$ g6 V. H1 O$ O- p6 C8 c【程序93】 2 k4 J6 Y. z& q/ u5 ^' n+ q( n2 X
題目:時(shí)間函數(shù)舉例3
! `8 b: p) a9 v3 |0 u3 i4 e1.程序分析: ' |& S9 }: R: O# a. O3 \
2.程序源代碼: 2 n& m3 H, Z$ R( |5 L
/*calculate time*/ 6 O0 R0 V- a( F% ?( L. ? R' o6 i
#include "time.h"
4 X/ [- Z3 {6 C# t#include "stdio.h" 1 l" V% n( q' \
main()
' R4 u1 N* H# b{ clock_t start,end;
$ }( F: _2 C0 S# g o' Tint i; : j, ^4 q; r; M6 b
double var; ' D" `& f% R3 \1 k- c/ d5 n4 F! E
start=clock();
5 O+ o# k$ D. G1 b: Jfor(i=0;i<10000;i++)
( |: P- m: y7 q; v4 P0 D3 u{ printf("\1\1\1\1\1\1\1\1\1\1\n");} ! i( I% R9 n+ a [: I) W8 e
end=clock(); * m" w. q: G: t2 Q' P% s
printf("\1: The different is %6.3f\n",(double)(end-start)); , Y- ?; A% ~" U6 ]2 x$ G: P1 r5 z+ h
} 4 S1 W' f( K9 n# G; d
============================================================== . p2 f9 f6 B" u( w7 j: q
【程序94】
0 D% s r( t( M) g( S0 j題目:時(shí)間函數(shù)舉例4,一個(gè)猜數(shù)游戲,判斷一個(gè)人反應(yīng)快慢。(版主初學(xué)時(shí)編的) 8 D/ P$ ], p X+ V9 K
1.程序分析:
8 ?/ \; O5 G0 U$ e% u* z3 s2.程序源代碼: 5 G6 ?! @! P8 @6 y) o- Q( @
#include "time.h" 8 B# g5 u+ B; K9 R$ x
#include "stdlib.h" & ^0 y% z @% N( I( n, B2 d/ Q
#include "stdio.h" ' J. G8 l+ I9 e; a
main() - T* h8 ]* g, R6 }- l
{char c;
* m$ N' R# R# n4 F, i3 Kclock_t start,end; - _4 N3 f' M4 X$ A, t$ ^
time_t a,b; % f- v. i0 W3 P0 ~ p8 `' @( m
double var;
" [' F! v. r# {& t2 h& F& |: vint i,guess;
/ Y/ V& I, |, O. D4 b) j6 j0 csrand(time(NULL));
( T: y$ N& s$ t- T3 G- nprintf("do you want to play it.('y' or 'n') \n"); 8 K- N% ?5 b8 c. i
loop:
2 l$ h* D: V( o3 k2 Wwhile((c=getchar())=='y')
* L3 j5 }5 |, T* B5 U' T8 U/ G% \{ 7 E! Q: i$ ]' f6 g2 h1 q/ L
i=rand() 0; ) I1 Z7 w5 ~8 `/ `
printf("\nplease input number you guess:\n"); . Y# w: F- q- D) {) x- r$ H
start=clock(); : f( j& B8 ~8 ]0 k- {' z
a=time(NULL); ; w/ C: c& d( m: M- C1 S0 ^. o
scanf("%d",&guess); 0 o# C# ]2 N9 b2 V0 q; Q; O# s( s
while(guess!=i)
0 Y6 t* [4 E: K; s{if(guess>i) ; u8 z2 A# u7 M& _+ [; a! k3 ?) |
{printf("please input a little smaller.\n");
8 u8 A% `2 \2 l5 l0 A( q; Yscanf("%d",&guess);} # y0 `9 R6 ~/ N; O4 k: U
else 4 p3 q# N* f3 ^, z% P9 g
{printf("please input a little bigger.\n"); ( u. l1 x/ E8 s0 ]( H1 p6 F
scanf("%d",&guess);} 9 h# L% G% e$ ~% X5 E: y6 E
} 3 w% s8 x- x/ a2 I" @2 S9 ]# {/ N/ ^
end=clock(); ! n* K5 ]) Q5 a5 k
b=time(NULL);
5 R# F7 e: G9 l- K/ W% }printf("\1: It took you %6.3f seconds\n",var=(double)(end-start)/18.2); # B9 N' H( e2 V; E
printf("\1: it took you %6.3f seconds\n\n",difftime(b,a)); + R. }7 g' }# o4 c& f2 m
if(var<15)
4 b* a# {9 q% M8 |6 z0 x& Xprintf("\1\1 You are very clever! \1\1\n\n");
2 `. S- H* e7 lelse if(var<25)
" _1 U) k7 J5 S& Y* T9 Z, Yprintf("\1\1 you are normal! \1\1\n\n");
) N: W& h7 {2 Y) E9 r, L, Velse . W: S6 Y1 }8 v/ X# |4 P
printf("\1\1 you are stupid! \1\1\n\n");
: }1 Y& c& o' ~1 rprintf("\1\1 Congradulations \1\1\n\n"); 3 i$ m6 Q& F# U3 Y2 K5 R7 G/ F
printf("The number you guess is %d",i); . O0 o5 `" i8 H, Y) o
} ; X# R$ P- d& v, L$ Y
printf("\ndo you want to try it again?(\"yy\".or.\"n\")\n");
% E0 {( d' V m1 a' E9 b! Tif((c=getch())=='y')
+ m; X' y7 l5 Z4 ]1 k U, C5 q7 ]goto loop; - x- _, P& _) h! m; V7 s/ @
}
0 A+ s* ^ u# d9 M4 B
作者: moldzsdj 時(shí)間: 2017-10-12 10:29
我一路跟著學(xué)習(xí)。謝謝樓主!
歡迎光臨 機(jī)械社區(qū) (http://www.ytsybjq.com/) |
Powered by Discuz! X3.5 |