找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 2414|回复: 1

C语言算法经典87-94

[复制链接]
发表于 2017-10-12 10:14:07 | 显示全部楼层 |阅读模式
【程序87* Q6 i! F% P: N  V; k  U7 ]
题目:回答结果(结构体变量传递) 4 K& Y  Q1 \( I1 {
1.程序分析:
$ c" k) K* s7 x# ~2.程序源代码: 6 Y. r+ w; h4 ]4 ~. u+ b3 Q  U
#include "stdio.h" 0 ~- h; o* Z; ]9 S2 z; Q9 q: P" {
struct student " T9 O* n" `! A1 R+ `4 E
{ int x; 4 {$ u  ?) i9 L0 O+ @
char c; + t- q4 v. b( @& z) z- G1 L
} a;
6 c; w+ u6 Q" s* R& C* S9 bmain()
8 z& _8 @9 z* r9 c; Z- Q- f{a.x=3;
' H( b3 H" T& i6 }$ {# _' Ja.c='a';
& D; E# a( I9 df(a);
0 k0 E& t+ @* Jprintf("%d,%c",a.x,a.c);
7 v# g1 P- a' z! A}
8 ]1 d' b* ~: s+ U' I4 Af(struct student b) * u+ u- S8 A# F. D! b$ {) I" \
{ 2 }& c: T! ]! P8 g
b.x=20; 9 h8 K' R0 j' {7 l4 v6 p3 D/ e6 ?
b.c='y'; , g, S: b1 `" m% D9 V
}
* e9 X' |2 E* ~; S8 h  r==============================================================
0 c5 n. B4 b" B【程序88嵌入式信盈达企鹅要妖气呜呜吧久零纪要
* f' V  l4 Q+ o: b: K" ^" n3 T题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。 9 S/ t$ Z8 o* V  g! L
1.程序分析: ; Y! d- R9 [) n. m5 Y. m: |
2.程序源代码: * W7 U4 B; D( ~$ M1 h
main() ! s9 j& N% m2 ?8 b) q7 L* c
{int i,a,n=1; * o6 g+ k8 v' y& b1 J
while(n<=7)
3 z" O$ t. a0 s0 R! i; W{ do { 3 l) _6 y3 @: `( o0 y
scanf("%d",&a); 3 X& G* k$ {/ d/ z1 O* O
}while(a<1||a>50);
0 e! q8 T& L0 z' n0 Sfor(i=1;i<=a;i++)
( D2 D) b0 |3 x% oprintf("*");
/ w, p  i( {) }5 @( `. d! v! ^$ kprintf("\n"); ( T/ Q' ~  l3 V* e" b
n++;} 5 A, R* \! B6 K8 K; C$ p
getch();
* s4 A% I; z5 x}
) p) v8 S; d! Z4 p$ [' F: Y==============================================================
3 j! U0 Z- v3 U【程序892 w8 E; C2 C1 S, b, V4 d
题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下: , `7 h7 M7 [; ]. p& w7 T! N
每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。 0 T6 w( e7 R. R+ }' G
1.程序分析: ' g& D  u9 }  T# V3 e/ p
2.程序源代码: & C2 @3 M! I" {. M8 J, ^# ^
main()
' g. r6 M) }* S2 c8 V' m9 a) [9 d{int a,i,aa[4],t;
% O1 l& b  l( E0 A& Pscanf("%d",&a); 7 C9 G1 A6 T2 C2 G; {8 V* m+ \# k
aa[0]=a ; % Z5 _  b/ P; I# }
aa[1]=a 0/10; 3 N* ]$ C: x5 z5 `* w
aa[2]=a 00/100;
6 f+ G6 f5 w) I* s8 Q5 c% n8 B8 z* daa[3]=a/1000;
* h+ [! ~# O) B2 \2 ofor(i=0;i<=3;i++)
; F7 f: N. ]$ s( B% k3 O1 g{aa+=5;
# F6 A* C0 W0 H1 E1 n3 p! ^aa%=10;
( G( j' K; ?. L7 n" r6 E; s2 A0 o}
7 W$ T1 G9 R# X2 O; p6 v2 qfor(i=0;i<=3/2;i++) & Z/ j' N9 v+ w: R+ _
{t=aa; ! w/ ]0 ^1 X: R$ X, b' k4 M
aa=aa[3-i]; ) t6 t. }0 ^/ |3 [* J
aa[3-i]=t; & q1 V0 b+ m* \9 `9 x% R+ D: c, l
}
3 G- F$ e, `9 s3 e4 Wfor(i=3;i>=0;i--)
/ D) W; q. v3 y$ Nprintf("%d",aa);
- N* R: u7 m7 k} % z. s( ]) Q8 [1 w
============================================================== 2 b" O8 y; v! Z: Q# E* b) a9 n- O
【程序90
4 k4 V4 J% [: }6 s) G* f4 A% ]题目:专升本一题,读结果。 ( k( U, S0 P8 b, Y$ c; d5 W6 x
1.程序分析:
; J8 P6 L3 `+ P; q0 l2.程序源代码: 8 C9 ^- n% K" y6 R3 i7 s3 l; `/ y
#include "stdio.h" ) o2 R* V( T% w( U
#define M 5
& E( s! T# e, s) E- m7 ]* Y+ rmain() * X, S6 W& V, [/ ?  Y8 M5 ?9 q
{int a[M]={1,2,3,4,5}; 2 C( p) O* Q; ]7 {( R3 N- g) i5 u
int i,j,t; 1 x! c0 @( q# S2 v: Q
i=0;j=M-1; ( Q8 b' [* V4 v5 m& I- u; S) w
while(i {t=*(a+i); 5 r! I/ j0 G3 f  i$ J
*(a+i)=*(a+j);
+ J9 N/ U; D: C2 y0 i, A*(a+j)=t;
% ^3 @) N; {: di++;j--;
  Z3 R5 ~; M0 U# e0 L6 R; m5 ~' I} ; C" l' n. B( K0 D- \- C
for(i=0;i printf("%d",*(a+i));
1 G  f4 |% y; a0 m7 T3 A$ y6 O1 p}
  u( I* y' f7 z% M' M【程序91" g2 @4 z/ q& e# \! h! w" t7 W3 T
题目:时间函数举例1 : O1 m% B4 L) L, X. E0 W* K3 p
1.程序分析: 9 Y0 @' M6 ^9 q( A$ T3 H1 I
2.程序源代码:
- M( |6 ]( P2 n' e' X#include "stdio.h" + C1 S% G. c; ]+ {- ]8 C! @
#include "time.h"
+ P+ W& `6 e4 m' Ivoid main() 0 ^0 M. Y5 p( `, V& M
{ time_t lt; /*define a longint time varible*/ 1 i1 z6 K  g0 Z1 k# F& A
lt=time(NULL);/*system time and date*/
/ M& X: ?1 r) X1 ]9 wprintf(ctime(<)); /*english format output*/ 0 p" ?0 P' j9 M2 x! P) O
printf(asctime(localtime(<)));/*tranfer to tm*/ ' e% R3 {* Q, I8 Q
printf(asctime(gmtime(<))); /*tranfer to Greenwich time*/ / P) T6 l/ p9 h- S- s, U! Q
}
2 M" C4 D3 Y/ Y0 ~; m3 Q6 e==============================================================
5 z! N1 u# I0 H/ Z' q【程序92
7 P( \. t! p/ V$ ~: y: X9 ~+ |- K题目:时间函数举例2
/ B! Z" x$ C& q; b. b7 F& r: I6 g1.程序分析: , `6 ]+ d9 t: e9 i% G& @" H' J+ B4 {
2.程序源代码:
! `* m6 Y7 X- C9 |* I/*calculate time*/ 6 K+ L9 D, C8 t
#include "time.h"
5 b6 ^- c& e# K5 D! H#include "stdio.h"
& j/ \5 W5 ?. J* C8 E/ Ymain() 3 c  R7 P% G- e8 ?" p! Y
{ time_t start,end; 1 V) T) J7 f+ ^+ s
int i;
/ b+ t! p+ p# a/ I8 o. lstart=time(NULL);
3 g( _# }' L" O. J) s# [. B' p0 n# ^for(i=0;i<3000;i++) " ~( a; W' r) p1 F. x, b9 S' P; y$ s
{ printf("\1\1\1\1\1\1\1\1\1\1\n");} 0 P; N0 v2 C- u0 y7 E& `- l
end=time(NULL); ( T& Q% x# R7 R
printf("\1: The different is %6.3f\n",difftime(end,start));
1 j, m' `7 \* z* R8 C/ i* T" O/ C} # S9 A! K- @# e4 P7 `# Z
==============================================================
+ P: p! B; K; ?【程序93: s' i, _, B- z5 Q* z9 m% n. s
题目:时间函数举例3 + S# s( [) Q' L( h
1.程序分析: " \- g9 G" b, [6 A' m* i
2.程序源代码: 7 `, v6 U8 p7 x+ e
/*calculate time*/
5 s4 B7 r! B8 s% n#include "time.h"
- t$ A2 {( C- \  A) R; g, ~1 T#include "stdio.h" 1 ~* S6 J- k( m  o! a: a) r4 F
main()
7 W# q0 u2 z: j+ A- [5 v{ clock_t start,end; ' G5 Q$ I; E) D- ?( j$ A  w" v
int i;
. _- U6 F2 o9 S5 }5 x6 idouble var; 6 T: n! G) Y- C
start=clock(); 7 P5 r( Q+ T& |0 P
for(i=0;i<10000;i++) 6 n- K0 T+ S1 H# {/ f
{ printf("\1\1\1\1\1\1\1\1\1\1\n");} 5 F' q6 T' h( |+ L8 M2 H# s( j+ M
end=clock();
( e$ O# o' \: n( eprintf("\1: The different is %6.3f\n",(double)(end-start));
4 a" w( M- o. T3 G5 n& Q+ Y* K}
! I$ x6 q4 N6 v2 l; t- V==============================================================
( ?4 t3 f: i* @& P7 \【程序94+ A. ?! K  I/ B0 ^/ s
题目:时间函数举例4,一个猜数游戏,判断一个人反应快慢。(版主初学时编的)
% n2 z) d  R9 [& \8 \, Y' E4 J) ?1.程序分析:
5 U  t4 D* k+ s8 A2 P2.程序源代码:
/ b6 K- _. [% F9 _; S) }: D#include "time.h" # u7 ?/ g" `$ O8 ~" T; w
#include "stdlib.h"
5 r3 r' W$ J$ z#include "stdio.h" " B! a% c# `4 I  P# r  r' A- x+ A
main() - Q& U! ~! ~0 V* X2 ], ^, G# Z
{char c; 0 Y" c' g5 }) r
clock_t start,end;
& s& S; j- X# h: C7 Atime_t a,b;
, K. F- V, g% {5 _' q$ |double var;
- Y1 G! ]9 C+ k  T- jint i,guess; 4 C7 T7 ]- ?. \
srand(time(NULL));
8 w2 z6 ]4 P* qprintf("do you want to play it.('y' or 'n') \n"); ! y& y& H1 G& c
loop:
, p+ F) v7 H: V) jwhile((c=getchar())=='y') ! {# y% E$ L8 X$ {7 g
{
3 P! L$ N( j5 d2 ~; Y0 z, Gi=rand() 0; + ?5 p6 w; K0 |  f; N
printf("\nplease input number you guess:\n"); 3 U5 b- p0 n/ X8 t& ?0 Y. {( ]
start=clock(); # {1 k# }+ v! S  R3 k$ x& F7 q, d2 X
a=time(NULL);
6 c3 K, I" b# }7 oscanf("%d",&guess);
" @3 x. J& H" f0 k/ v  _0 xwhile(guess!=i) ( z! k" G- S3 W6 \0 {( ]7 k- f
{if(guess>i) 5 _% q5 _5 q; n7 K
{printf("please input a little smaller.\n");
0 f1 t7 O+ B$ W8 ascanf("%d",&guess);}
/ |1 S2 P9 ]7 h8 Z4 i: O& E/ f; z& qelse : \0 G% y4 V0 y3 ^4 Q
{printf("please input a little bigger.\n");
$ C% i. c+ h# L; }7 K, T! i' F* h) P& bscanf("%d",&guess);} 3 Q! m$ x( H! `* ]
}
/ ~3 k; r+ c* Q2 Pend=clock();
) x4 r* |( F- @( H6 y4 E) qb=time(NULL);
/ a0 K) ~4 R6 C: ]5 i0 j* nprintf("\1: It took you %6.3f seconds\n",var=(double)(end-start)/18.2); 3 X4 v' T: {/ ?: L
printf("\1: it took you %6.3f seconds\n\n",difftime(b,a));
$ @+ o  I  _! H! e* p! eif(var<15) % S+ G/ a; N; x5 [/ [
printf("\1\1 You are very clever! \1\1\n\n");
+ z, p7 E5 X( e' N  X  Telse if(var<25)
& r; q6 k" j. l7 O7 R4 @4 cprintf("\1\1 you are normal! \1\1\n\n"); ( W/ k' i. u7 K# k; \- T/ K
else % `2 X0 e1 f3 \: ~1 J; }: @4 l7 _
printf("\1\1 you are stupid! \1\1\n\n"); / {( ^9 o$ J! k) O2 g5 c
printf("\1\1 Congradulations \1\1\n\n");
4 L. c* w- w6 D! _, Bprintf("The number you guess is %d",i);
( b: K" A' z9 q. Y; M* K' L5 l( K}
" D/ S, p2 [1 R  ~printf("\ndo you want to try it again?(\"yy\".or.\"n\")\n"); . X* c7 r- B4 S) _/ ^' b2 W
if((c=getch())=='y') 1 w( @) y9 x& w. e! p
goto loop; 8 m# p7 G* l& `8 Y' a/ O
}
- k' q* t% n; J, g' A
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-19 13:34 , Processed in 0.065785 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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