找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 2405|回复: 1

C语言算法经典87-94

[复制链接]
发表于 2017-10-12 10:14:07 | 显示全部楼层 |阅读模式
【程序87
% a: {- Y! r# g! |; x题目:回答结果(结构体变量传递) ! Z( }/ j9 N, Y# M6 g6 N% i
1.程序分析: . c1 j7 J# q( Q- H; w
2.程序源代码:
) ~* c) n# R  t9 R  s5 c- i* P#include "stdio.h" 2 S8 E; U  E, x4 W: Y$ B
struct student 2 Q: u' d: `& d) D/ K! e
{ int x; $ x" N) O" f# K5 F0 q- g1 x" H
char c; 1 e' p9 U# k. [/ [
} a; 1 D) j0 ^9 M! d5 u. Z$ ^  R
main() $ E" \$ r5 \, z$ r5 V5 m
{a.x=3;
' m  e9 E* \& N, y- @a.c='a'; 6 r" d6 B" i' h6 m
f(a);
7 c, x0 T8 X$ Wprintf("%d,%c",a.x,a.c); ; D4 ]$ ~. `% \7 \  y% N9 n! q
}
0 s4 c7 e( n7 q: |1 x! X8 s4 Yf(struct student b) ) L. e+ F- q- [; x  e
{ 9 V0 j8 C+ _/ @+ W$ D/ G" H, G1 r
b.x=20; 9 ?6 H8 ~& ~9 L* t
b.c='y';   E- x% _+ C8 _  q( M
} . i% Q8 @5 X6 x7 B1 @9 h
==============================================================
4 [( |3 Q2 C& d【程序88嵌入式信盈达企鹅要妖气呜呜吧久零纪要 + }/ O( r0 a4 m% `
题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。
2 u. |& c& N2 S% Q/ t( ?5 ]7 m1.程序分析: 0 \5 E- X6 ^( i) z$ u
2.程序源代码:
3 T  M: ?" R) _5 amain()
! e3 @1 L$ s/ s4 ^, L{int i,a,n=1;
+ L- g" c0 V+ w# b  Kwhile(n<=7)
" \) Z7 F6 N2 g9 \: H) d& }{ do { % `7 E7 w) z8 u: l; P: U8 p
scanf("%d",&a);
( A$ n+ p, R7 H4 _- c' i}while(a<1||a>50); ) f2 f' [; v2 c
for(i=1;i<=a;i++) ) }' H: v/ g2 z; A5 \
printf("*");
7 Y& }6 v$ n7 I+ R: [printf("\n");
; l, f, [- t. e! d: Dn++;}
5 a5 b/ g- `4 T. ggetch(); + u: x2 m: C% H- G3 ~
} 9 R5 i8 q4 m! O) j8 t
============================================================== 5 Y7 c, e$ l) F
【程序893 T6 f% K9 T7 d; r+ K2 d3 h
题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下: " A4 [5 s8 v7 M# O' f# w5 n  g
每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
1 v9 Q% r- x) ^7 a0 W1 `: U1.程序分析: 4 {% O& e7 t1 y* |; L6 `, T2 D7 Y
2.程序源代码: 4 k# d7 |8 ~, A2 x+ B" @# P
main() 3 w7 m7 ^$ o& p- ~
{int a,i,aa[4],t;
/ v( C5 B1 G6 v' v1 ~/ uscanf("%d",&a); . K; C7 p& n/ H% |3 X( M
aa[0]=a ; 7 Q3 e$ z) x5 e3 X. N* `! I
aa[1]=a 0/10; 3 `; A! d  F4 ]; G% l5 r+ T
aa[2]=a 00/100; $ e2 Q% W& M0 h# g8 G
aa[3]=a/1000;
* h  T, A8 \' F  [& e' Wfor(i=0;i<=3;i++) 0 e2 p1 l' s. e% c) ^% [/ N1 C
{aa+=5;
4 d) i, i" |1 y* haa%=10;
& B/ K, w2 T- }5 {2 J} 9 X7 }4 ?9 ~) q" F- a' K
for(i=0;i<=3/2;i++)
5 t/ n0 m# E. [% s{t=aa; " y2 y: M( z3 G. h& N) g& o
aa=aa[3-i]; 4 D: J; Z. P! n
aa[3-i]=t;
# r7 b( ^8 [  ^, f+ J}
$ Q* a. O" f+ {3 K0 N6 xfor(i=3;i>=0;i--) : |7 l" h' @5 D& z  O$ x2 z$ j4 P: }
printf("%d",aa);
; z, Y+ l8 a6 m1 d} ! e( c. ]+ i7 b- e
============================================================== , E( z# s# g; |" U  t7 R5 }
【程序90
4 X2 E0 f; o* _' ?( x- o题目:专升本一题,读结果。
2 c8 p; Q; J- j; b4 E1.程序分析:
! ~1 A6 a- Y8 c3 ]# j$ P0 C2.程序源代码:   k2 _( k! k! t; O: Z+ |+ m
#include "stdio.h" * I6 N7 Z* I8 _
#define M 5 - G* K+ C6 q1 a' r; J- d3 e2 f
main()   u6 v% X( j. V  F& |1 D% i; ~
{int a[M]={1,2,3,4,5};
& G! d/ Y- R7 z* }8 u4 dint i,j,t; ! w% q4 f- W2 Y
i=0;j=M-1;
: M: q) ~% A0 a3 jwhile(i {t=*(a+i);
+ h  s/ o& r- e0 l3 B3 P  s; \*(a+i)=*(a+j); $ G! ^+ P4 i+ _& w) \- B* j! k# H
*(a+j)=t; / c" a  S9 p& q5 r6 n! v
i++;j--; 4 L! ~6 U- w9 ^. t  X
}
3 H  n- ?. X8 w) e! q) X+ v" y: A' f: Lfor(i=0;i printf("%d",*(a+i)); 2 C! \3 U" |: ]& y
}
+ w' Y4 [2 w5 E! L6 O9 d2 m/ L【程序91
& m1 A5 Y$ c: d7 `6 b) e题目:时间函数举例1 ) P" H& a( P7 [6 d. D. U
1.程序分析:
5 ^8 J) b8 S, V/ I: `: Y; f2.程序源代码:
. l1 {; |) ^$ Y! j+ E#include "stdio.h" + x: y5 F! q9 u3 V, u
#include "time.h" & S+ a. \$ w' k
void main() 0 `4 m+ x+ M; l
{ time_t lt; /*define a longint time varible*/ + @) s  x, I/ |! e5 ?
lt=time(NULL);/*system time and date*/ 9 `1 s5 m) w; m6 X( ^
printf(ctime(<)); /*english format output*/ + e5 u' }, d' B; M  s5 P' }
printf(asctime(localtime(<)));/*tranfer to tm*/
3 c& b. P* R; z: p0 f, Y2 _; p7 @" Uprintf(asctime(gmtime(<))); /*tranfer to Greenwich time*/
! h3 l) W* ?. {( c; |} + V1 \% d7 J* M# K4 }
============================================================== ) B2 ?$ b6 x# A' ?1 @% p  u8 ~
【程序92
$ C8 h3 z! H1 i3 ]' w  G6 l题目:时间函数举例2
3 a0 m7 K5 {1 i# Y9 }9 H1.程序分析:
! b% J6 m" [5 N9 H2.程序源代码:
$ _( G: }# F  b" h/*calculate time*/
4 c4 r4 {- U) E* H9 k1 C#include "time.h"
0 @& h  _7 M. `#include "stdio.h"
/ A% s# c( p7 A4 ~! ^main() ( J! m: }/ c! u) n
{ time_t start,end;
2 H* C; _$ E3 `% H, lint i; - [; V; D8 l# ]" e3 M* b$ u
start=time(NULL);
1 s- T! [& }) f0 e+ Sfor(i=0;i<3000;i++)
! x  z3 C4 ]/ q) S{ printf("\1\1\1\1\1\1\1\1\1\1\n");}
, a6 j8 c7 F7 `end=time(NULL);
2 g: i/ A6 U. n# _% s+ Dprintf("\1: The different is %6.3f\n",difftime(end,start));
; h, ^! w! w( h, X$ K/ z2 E/ w}
" d( z4 M2 _' Z3 z3 `==============================================================
9 F* r; a, v. {8 b. W* P) j【程序937 [1 U: R$ d$ J  M+ F$ l; Y
题目:时间函数举例3
- Y+ G! P* Y9 C% I# V1.程序分析: ' \: @7 d' r+ o  I# k, _
2.程序源代码:
$ c- |4 j/ @4 w3 L4 }/*calculate time*/
3 k& y  R* h, B. W#include "time.h" 0 v/ x. b- @! s' W1 R
#include "stdio.h" : @* O1 c+ W( ?$ }! F
main()
- V; h" z+ P( ~/ v8 h- G' g{ clock_t start,end; 0 y. i' f/ p6 _; F
int i;   B8 F/ y: J# B  C& T9 Q2 i0 w
double var; * `4 ^5 d$ m8 r4 Z
start=clock(); ) ?# n/ f/ U" o% R
for(i=0;i<10000;i++) 9 h  T7 |5 Q/ a3 X/ e1 c
{ printf("\1\1\1\1\1\1\1\1\1\1\n");} 8 u4 X6 }! h, ]- d& H
end=clock(); . W1 M8 d8 m* o7 L. y
printf("\1: The different is %6.3f\n",(double)(end-start));
: v* n8 N4 D2 |0 G" Q} # I- z$ w) ?! q7 p' w6 Z4 m, V: w
============================================================== 9 H' F6 ^- Q+ K% Y8 F: E( D
【程序94& b  L* f7 P: _# L5 W6 Y: a. k
题目:时间函数举例4,一个猜数游戏,判断一个人反应快慢。(版主初学时编的)
2 o2 E3 U* w; m! y' S" V2 \9 Y1.程序分析: # i( B- K* C, A5 s
2.程序源代码:
) {4 c3 V1 Z7 |/ ]4 ^4 g#include "time.h" 0 z2 o/ }4 Z4 I% |8 |- m) J
#include "stdlib.h" 3 H3 T6 f7 O) }$ t# {' |
#include "stdio.h"
: A. g( q2 A- w7 c. n/ j/ p+ \0 z9 u- cmain() 6 |7 ~) x6 ^- m& y  \/ ]; P6 ]
{char c;
# p( _/ D( }: P9 p0 Lclock_t start,end;
. m( b9 w9 E4 q" S. I1 jtime_t a,b;
' A% }3 N$ z/ J9 H  {, Edouble var;
" A5 n. H( e6 pint i,guess;   R; U& k8 M3 x6 @. `
srand(time(NULL));
8 W0 L6 c9 d8 J, T* }! |5 i. ?2 S% ~printf("do you want to play it.('y' or 'n') \n"); 5 p4 P  Z& B0 ^& n  r- O8 L! [) |8 Q
loop:
: s1 v5 j% Y9 [" ?& H# i+ ~while((c=getchar())=='y') 9 K4 D  @2 r6 X  q5 s
{   _8 D- _0 a( c; {. _
i=rand() 0;
( g7 d# n4 j4 s7 |& I7 `* X( N, Zprintf("\nplease input number you guess:\n");
3 |3 P  B- O  P0 Fstart=clock();
; D5 b2 ]' c, X3 y! f( C9 Ea=time(NULL); 7 K+ N( T& h1 b/ M+ H  N" O% I. v
scanf("%d",&guess);
; s; \( N1 i2 C" d/ L. ~& q) mwhile(guess!=i) * ~% U7 O6 ^- P( {1 j0 ?" d
{if(guess>i) ' |0 V2 M5 w4 i& B
{printf("please input a little smaller.\n");
2 ]' N2 D* X3 ^  E0 ]# j- Qscanf("%d",&guess);} ' m* a1 a2 ?: {; f
else ; G, X9 i) {, j  g0 d, B
{printf("please input a little bigger.\n"); 0 v; R2 z: l+ _+ N: R- g. j4 [
scanf("%d",&guess);}
0 }$ p- D4 L0 V9 C}
( r5 @0 g4 s9 h  Rend=clock();
( X/ \- s0 x" f& @b=time(NULL); # @: W- |3 l6 ?& \  ?* _; N  G
printf("\1: It took you %6.3f seconds\n",var=(double)(end-start)/18.2); $ j/ }' [; K% u- J, s
printf("\1: it took you %6.3f seconds\n\n",difftime(b,a)); . Y' y# ^* f. i+ W3 P; |! m
if(var<15)
2 M2 y4 h, A/ e) ^4 {printf("\1\1 You are very clever! \1\1\n\n"); " H# u7 A- s- c, D7 L
else if(var<25)
0 u6 ?$ Z% i7 r3 m$ Bprintf("\1\1 you are normal! \1\1\n\n"); 9 k) `, o; V/ _
else , o- C3 D8 c/ ]. ?  ~" ~$ _2 U
printf("\1\1 you are stupid! \1\1\n\n");
: _- p1 w- U, |7 I; t5 xprintf("\1\1 Congradulations \1\1\n\n");
9 f# J. E/ B& [" d' Jprintf("The number you guess is %d",i);
0 X$ o5 w$ h/ ^}
# u: \' a- x# i* ~( S, \printf("\ndo you want to try it again?(\"yy\".or.\"n\")\n"); $ k% _2 w  E/ C
if((c=getch())=='y') " \5 E7 O, j8 V1 T+ i' F
goto loop; 7 }4 _7 A4 m9 W( `1 T# R& G4 K: K
}
0 H( r0 @9 M5 m
回复

使用道具 举报

发表于 2017-10-12 10:29:05 | 显示全部楼层
我一路跟着学习。谢谢楼主!
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2025-9-17 23:34 , Processed in 0.058966 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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