EDA365电子工程师网
标题: C语言经典算法87-94 [打印本页]
作者: dilidili 时间: 2017-10-12 09:21
标题: C语言经典算法87-94
【程序87】 % z* N$ n8 C3 H; w* o6 P' Y
题目:回答结果(结构体变量传递) 7 }( s' L/ R0 O/ [, k
1.程序分析: / Q0 J: h8 b! ?
2.程序源代码: 0 _; {8 P6 M& k+ ]0 d
#include "stdio.h" $ g M# h* U! n; Q" s, M
struct student / D; z5 i+ A: o
{ int x; . ~; \- \, k; z
char c;
5 C' y+ t4 R8 b1 T2 ^5 ?} a; 0 m! b% o3 s: u; M5 i8 j
main()
4 H7 t( N# X K8 Y$ p{a.x=3; 4 T9 [" K' q0 F5 M; L
a.c='a';
' B" L& j- u" K. Ff(a);
% E5 \2 L5 \! k* j) Cprintf("%d,%c",a.x,a.c);
% t* C$ b B4 N+ b) p} , M+ R( T& d9 h" D
f(struct student b) ; [# c) P x. ^' o* M) i
{
8 _; Z d# E3 h/ vb.x=20; 3 K) y) J% m; U0 K
b.c='y';
5 _0 v- j3 V6 M: r}
4 {- P$ C0 A+ b# D==============================================================
F. D! f, a6 Q- T【程序88嵌入式信盈达企鹅要妖气呜呜吧久零纪要】
2 i0 ~6 r1 v1 I: y1 B0 y+ D题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。
8 j" ^( K! O1 S o1.程序分析:
( b+ t+ W8 s1 E2 K% l% @" @2.程序源代码:
1 o2 u5 u; ~# v; ?, ?8 Hmain() ) H8 P0 }7 M, A
{int i,a,n=1; ; B* u+ k# f; M; l: k( I
while(n<=7) 9 @' G# U; j% A# u& Q5 j: \
{ do { ! Q$ i' _) M( u; u8 ?
scanf("%d",&a);
! M/ w# m2 M0 f8 h) X- _; n8 X}while(a<1||a>50);
4 ^* i+ u- d* `. U( ~ a$ w# Ifor(i=1;i<=a;i++) ' Z1 f$ G" a4 i; K! g
printf("*");
- ^8 `7 r+ S/ @9 qprintf("\n"); ( U9 u- M2 N& l* f
n++;} 9 m0 q, H7 ~* d
getch();
: G9 y0 a, \; ?( l. D0 s3 g! t; w} 0 _0 D7 N( \( o. a6 F
==============================================================
' W) @( O* g/ W【程序89】 7 B* [* p% F) Y' x0 g
题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下: " V2 R a6 R( X' a. h7 d
每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
& W# J2 H e" _0 `! Z1.程序分析:
9 Y2 e$ ^' \: E! c2.程序源代码: 2 f" Q9 D# d+ U
main()
% ]9 U. A- b- S* \; k- A+ ]0 S{int a,i,aa[4],t; * E; P& g0 y9 \5 b L" |, }
scanf("%d",&a);
% o$ V3 X; u) {! b. r9 W0 Y3 T: }aa[0]=a ;
v6 {( U7 f/ R. raa[1]=a 0/10;
- C7 N v$ w3 C% ^; M4 } zaa[2]=a 00/100;
' m1 S8 M; v8 g# K1 f1 laa[3]=a/1000; $ t( E3 ^' @+ _# l/ G
for(i=0;i<=3;i++) ! z- L( F! K4 J; u8 r
{aa+=5; `& @: S/ _ `5 f3 k/ g
aa%=10;
! P+ a; L& K% t5 _3 y7 j$ k3 l/ j}
! ~/ H8 s4 R$ r# a3 Y8 V0 Qfor(i=0;i<=3/2;i++) 1 F+ I% `8 ^6 t& c! h* P
{t=aa;
8 ^8 V3 p) Y# jaa=aa[3-i]; ' x' E; H8 [; r+ V2 _4 o b1 `9 Z
aa[3-i]=t;
+ A! o7 [ ^* Z* m}
) |- d; T" t- X: d' mfor(i=3;i>=0;i--) . k W2 u6 |1 C+ x
printf("%d",aa);
* s. `; c0 p+ n7 @, v4 H0 F, a} 6 D F! \; y% P5 D$ Q
============================================================== & B/ T# j5 x, F! @1 R
【程序90】 2 J8 l; ~- D4 [ I" M* U, [0 [1 e
题目:专升本一题,读结果。
t. k0 D, t5 X( _& o" C3 O1 J* I9 M) J1.程序分析:
$ i' K9 E. l% Y. o& B9 ^/ a2.程序源代码: 7 i3 g, [1 t& v$ M9 @7 u1 T* k! ]
#include "stdio.h"
: V" G! b+ v! x! M, M+ ~( d) J#define M 5
$ v- G5 g4 V3 umain()
- q: N+ |8 X' U+ f3 f& ~1 }6 b{int a[M]={1,2,3,4,5};
/ y o1 m1 q5 p4 a3 o4 Qint i,j,t;
4 g# M7 T7 S, m/ L' H( x- C. di=0;j=M-1;
0 ^$ {! }2 S0 L/ d% jwhile(i {t=*(a+i); 2 H' q' u+ P0 V& |
*(a+i)=*(a+j);
2 \1 D6 w' E6 L& U, N, D*(a+j)=t;
: S' g; ^) t( [/ F5 y- Ii++;j--; 9 s' c3 a8 I2 b. X5 L
}
/ W9 k+ P- z! K1 ~3 u$ c# Z3 Dfor(i=0;i printf("%d",*(a+i)); ( K& H9 l/ @; o
} ( I; N/ I& [& G9 H
【程序91】 5 {( ]+ c0 z$ }
题目:时间函数举例1 1 n5 U. y7 C1 a$ L( H! Y
1.程序分析: ( X/ ^6 X! m q# F5 E5 x1 a4 l
2.程序源代码:
* L) h" o7 @! H- P+ e#include "stdio.h"
4 ?; w# L! U1 w5 V: j#include "time.h"
, n& u; T( F9 j% K% M$ b7 vvoid main()
* W% S4 p; h. G* j2 F+ A% ~- ^6 d& x{ time_t lt; /*define a longint time varible*/ % G0 }+ I7 U" A
lt=time(NULL);/*system time and date*/
, v3 u4 m) c+ E0 N- i5 S: Z, Bprintf(ctime(<)); /*english format output*/ . F( @0 E8 L0 |2 J/ x
printf(asctime(localtime(<)));/*tranfer to tm*/
. Q, _1 j7 ~( k& _. P/ I5 mprintf(asctime(gmtime(<))); /*tranfer to Greenwich time*/ - v; E5 D2 h% a# L7 r
}
: k" o) M( ]2 N) }6 a+ ~) p+ B============================================================== - p( f. M3 M- p' p d; N
【程序92】
% q# g* s0 o* Y9 A题目:时间函数举例2 / n; R' a5 Z0 C! S s
1.程序分析:
. E4 F8 E3 R: j9 y6 C/ u2.程序源代码:
" \% R/ Y, x4 T; \7 F/ e/*calculate time*/
5 X* {- ^7 }. i) x' ?( G; b#include "time.h"
1 l. c( d* S1 ^: n7 i#include "stdio.h" & D6 g# v+ Y: x
main()
) f, I0 f; K; S% V0 H5 E! _# x8 B1 k{ time_t start,end; : K2 W6 r1 M/ f: J4 S: t- N9 ?
int i; 8 a) d* w& I1 `! |* v
start=time(NULL); 6 c9 c. j1 l: h$ S6 O8 }
for(i=0;i<3000;i++) " O' k) }+ ?' f. S, m8 R
{ printf("\1\1\1\1\1\1\1\1\1\1\n");} 4 E8 V P: x8 F9 k6 r7 @3 a, I! |* b
end=time(NULL); & B$ }! v/ i! N
printf("\1: The different is %6.3f\n",difftime(end,start));
" O) t1 S( b8 j$ J" ^9 ]6 Z/ t} 4 e7 `% l$ \6 {2 v$ R; y. {
==============================================================
- g0 K! x0 f* j) i6 R5 | V5 D【程序93】 * G; Q/ ^+ D# D9 _/ u# X
题目:时间函数举例3
% t% W6 Z# c" `" `% l1.程序分析:
: ~3 o% m/ e ^0 s1 X8 X2.程序源代码:
: D5 j/ i6 G) b @; e) o/*calculate time*/ 1 w# G1 L1 I. g1 X- A$ P
#include "time.h" 1 s$ B$ P; K. ^& A4 J% _8 P
#include "stdio.h"
! N% I, J0 i g7 rmain()
: G. X& n0 b+ I1 T4 y) N: u g9 Z{ clock_t start,end; 7 b2 p8 K6 i- ~/ S3 v8 Y8 }* }3 S4 d
int i; ~: X. ?% k2 d' Y a4 l
double var;
* l% A: z' i3 ~+ l/ u4 Dstart=clock();
j6 m$ g, J; v& y S2 Qfor(i=0;i<10000;i++)
! A4 J6 D& F% c9 O8 e{ printf("\1\1\1\1\1\1\1\1\1\1\n");}
) c2 K% U+ v5 p. v" \) w, nend=clock(); 4 M( m! B: j! s9 P) P6 U9 D6 D3 ]4 r
printf("\1: The different is %6.3f\n",(double)(end-start));
6 B8 ~5 J7 Q4 a; p4 M} # p3 H0 ^4 I" _0 U% m( Y
============================================================== , d( _& R+ b) E
【程序94】
8 B) f+ J5 d& z+ E, T3 u; I0 C题目:时间函数举例4,一个猜数游戏,判断一个人反应快慢。(版主初学时编的) / x, `6 e( C' Z" X8 M- ^
1.程序分析: # O- s2 K) J3 W# q2 q
2.程序源代码: ' z1 V' o7 e/ k2 w. E% I4 V
#include "time.h" 7 \0 p3 S, x* `3 B9 V' m
#include "stdlib.h"
v) E+ X) X, W6 K Y' M#include "stdio.h" 2 ]% p! M) q! X
main()
6 X/ l! W) ~1 F! ]{char c;
3 _! K& P. P$ Q, Gclock_t start,end;
1 ~! Z5 @+ o6 b* N( O' p7 }time_t a,b;
) l g# T Q5 v: J" f6 Tdouble var;
% ?$ p0 d4 [( ^3 s$ j. R Uint i,guess;
8 T1 v* F0 Y& O+ d* Jsrand(time(NULL)); + y' J6 y" M. Y, j3 ^' u/ S
printf("do you want to play it.('y' or 'n') \n"); ) b0 k4 u8 b' I% \
loop: ' ~* G# j5 J4 {5 [* ^( Y
while((c=getchar())=='y') 1 j- \6 c' d5 {, G: n4 r1 i
{
4 [: r x( @% d9 y+ E# \i=rand() 0;
/ D0 W& d2 D( k( |printf("\nplease input number you guess:\n");
4 r. l' j' A$ K1 P8 c8 ~- p! x" Vstart=clock();
4 P5 U& x% |# s# Y5 G/ {a=time(NULL);
/ o- D$ c& q+ u4 ]2 Iscanf("%d",&guess); 6 I4 q/ Y1 y- |0 ]: S$ ]6 A
while(guess!=i) 2 z4 R% o7 o1 N' D. i, Y y
{if(guess>i)
5 I; {& Q& M- Y" D9 ^% j+ T{printf("please input a little smaller.\n");
$ k8 O" Q. }, Z5 Tscanf("%d",&guess);}
1 l+ g8 |" M/ y1 P6 }" f$ [% B4 jelse 0 d$ ]9 g0 d$ x% B3 F
{printf("please input a little bigger.\n");
: @; ~' s, o8 i5 M0 jscanf("%d",&guess);} 4 K1 Y0 |! X5 ^) y
} 3 q( s* {/ H9 G! T n4 R
end=clock();
) b4 h, t' P1 ]b=time(NULL);
o7 C6 |/ e) m3 X0 Mprintf("\1: It took you %6.3f seconds\n",var=(double)(end-start)/18.2); $ x3 x0 q$ n# F5 l+ i- ^, g3 r
printf("\1: it took you %6.3f seconds\n\n",difftime(b,a)); " ?, s( Q3 M) d$ e' `+ F. ^
if(var<15)
% a9 x) Z- s! ]9 l: d/ c rprintf("\1\1 You are very clever! \1\1\n\n");
3 K- H; q- e2 Y3 A( Telse if(var<25) " D; K- c. j3 c. \
printf("\1\1 you are normal! \1\1\n\n");
6 U% [5 M( v4 Z2 D$ u# Telse
5 h# R' {) }$ ?! v' Jprintf("\1\1 you are stupid! \1\1\n\n"); # N2 T. m. a3 v4 F' |
printf("\1\1 Congradulations \1\1\n\n"); F/ H* |4 w' f+ n/ S$ ]
printf("The number you guess is %d",i);
/ Y' a/ Z+ C9 X5 |, E& J8 U}
5 g- ], g% Y% k9 e6 p7 Rprintf("\ndo you want to try it again?(\"yy\".or.\"n\")\n"); 0 D1 p# @9 }! K% E! [4 R9 Q
if((c=getch())=='y')
( Y3 \: q8 V1 c% k* b/ @goto loop;
; E3 [4 c$ E8 c: m9 P% K5 n& V" r: w* r}
: ], N) H% d2 j3 @. s2 h
作者: liangfs 时间: 2018-5-3 17:36
66666666666666
欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) |
Powered by Discuz! X3.2 |