机械必威体育网址

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 1698|回复: 1
打印 上一主题 下一主题

C语言算法经典87-94

[复制链接]
跳转到指定楼层
1#
发表于 2017-10-12 10:14:07 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
【程序873 m; l# P2 P2 Y. F3 x$ |3 e
题目:回答结果(结构体变量传递) # b# k4 H/ v$ l7 N
1.程序分析:
0 q' [& ]& q4 K4 C# P2.程序源代码: $ \" B8 t( C& P1 c1 D& u& @" W
#include "stdio.h"
) Z9 ~4 U# G7 D) K: T! L/ V% xstruct student
, Q! }5 m, p- i' o7 w6 r0 b( P) I- }4 t{ int x;
- p/ ]  ~; J6 u+ L1 t0 Z- m0 ~3 cchar c; 6 I6 p' M0 E, @2 w
} a;
9 j( }, v1 b; c5 B8 `main() 1 S$ B% j6 e8 Z7 o
{a.x=3; ! f# D% O# u9 b+ q
a.c='a'; " Y7 N# {: p# K; ~8 P: S
f(a);
! ?* t! y. X  h0 d  D7 z' {. [printf("%d,%c",a.x,a.c);
# m2 ^- B9 L& Z. Q" \- N" I} ) e' V' ]5 l3 ~% r! M
f(struct student b)
7 p1 o, j9 ?' L6 \6 L{
8 P2 A  o. X* Ab.x=20;
/ f9 P, T4 J. Tb.c='y'; " H9 T* i: s& l6 o) e* d" N- J( [
} * l' J% f' @, p5 E
============================================================== ' e  v( p! h/ `* P* D5 D
【程序88嵌入式信盈达企鹅要妖气呜呜吧久零纪要 # k* e* c% i/ C4 q% ?8 Q( x1 H
题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。
- i0 n6 S! e6 u$ j: E$ [1.程序分析:
* p: p% O# y. _" M, y/ N2.程序源代码: 7 I/ b6 E2 `( n: u' o% Q& N
main()
* c: S; M  X- K7 k: g{int i,a,n=1;
4 K3 ?: D" l. D) S1 b% bwhile(n<=7) ; P. r  ]2 I. @: i
{ do {
0 c  J- t' g1 v* ~) i. b. iscanf("%d",&a);
8 ^( V0 h( v! ~9 X}while(a<1||a>50); ; I$ T: g" L) s
for(i=1;i<=a;i++) 5 U% z- u7 F2 q% M" e& y& m2 Y) o
printf("*");
  X9 Y. @& x- u" u5 `- X# hprintf("\n");
* M/ {4 A2 H. @& {) rn++;} * w2 g- m9 N) C, [, ^$ t+ t
getch(); ) E7 ~+ m& E) x% T- A" i
}
. K6 A3 w1 C( _% o! N% D8 }7 c) [============================================================== ) M* @7 p' i5 ?* ~5 F
【程序89; v' |% ?8 Q/ C4 W. ~3 y! n1 Q1 T+ b
题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:
3 }( h, I5 a% a1 ~" h每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
5 n  f  ~) h  H7 o/ d2 f8 w1.程序分析: + x6 K0 X, v, P+ n) Y
2.程序源代码:
) {* [5 G. Y1 b* |main()
1 q2 r0 z! \2 }9 h1 ~) y{int a,i,aa[4],t; 9 d2 x$ `4 c: d" _' @8 H( n. ]2 L
scanf("%d",&a);
9 {$ C7 r8 r4 K% Baa[0]=a ;
' w5 H2 k% {* yaa[1]=a 0/10;
* k5 W% f3 @; m! E9 d7 ~aa[2]=a 00/100; ) l- C: ^. F3 N% i0 I' [
aa[3]=a/1000;
5 y) m; E+ ?. d' M% }! F3 kfor(i=0;i<=3;i++) % o4 C2 ~! y( r
{aa+=5; / s) b+ O% C* j3 u" S- m
aa%=10; / ^- P( b6 D* I8 @7 n& `" b# q
} . K+ D* R4 U5 ~$ {
for(i=0;i<=3/2;i++) 9 }7 Q0 h* \1 n
{t=aa;
8 ]! m2 ^$ Z, d3 i3 O3 I9 |, Kaa=aa[3-i]; * [$ ]* [4 W! y
aa[3-i]=t; 8 _- m/ B$ l) l% A; k: H  K- I
} # q2 B$ q# T% s
for(i=3;i>=0;i--)
; p2 q! x: D/ {' jprintf("%d",aa); + K% J, u/ Q4 _& z* W- N
} 1 V9 m; ?4 G7 ^  v
==============================================================
) q6 d$ R) h0 y# m  `+ H【程序90* M+ c6 x' a" `  n
题目:专升本一题,读结果。
+ W' u& V/ l! t8 Y3 {( e5 K: w1.程序分析: & Q$ l! ?8 m1 s6 S" l" D' h; m
2.程序源代码:
8 Y5 ?  o- T) n#include "stdio.h"
4 V7 j+ R& ]9 S3 k#define M 5
' r: F  r* Q0 E: Nmain()
5 ^7 z2 t; l  b/ s+ I2 v8 _{int a[M]={1,2,3,4,5};
  c( z3 v" v# `0 D; Oint i,j,t; + v* _) @% E9 I' ^" ?1 E/ s& q
i=0;j=M-1; 3 d- y  o' y1 `0 J
while(i {t=*(a+i);
7 e+ m2 @: k- K*(a+i)=*(a+j);
, M/ N) f7 y' P8 R3 C8 C; o% L% T6 i. R8 g*(a+j)=t;
5 ~1 `/ L7 d$ W2 @. _( Ki++;j--; ! E& l/ n: ?5 {7 m( w; K
}
$ J* q" i6 H8 P* V% u/ I' Wfor(i=0;i printf("%d",*(a+i)); : Q( X  x7 m& b5 }3 @; S9 i' x
}
9 S. k  f: ^$ x% W2 _  N【程序91
4 R+ s3 ]6 G$ p& [/ m题目:时间函数举例1
% Z. }: f5 c7 u8 k4 L7 i1.程序分析:
3 ^9 g' N4 }% P' \! B, U2.程序源代码: * p. f$ N) h: T1 M, V; v
#include "stdio.h"
; E* D4 L0 w. e! j  n#include "time.h"
4 r* V& ]! `; G! b! E4 ivoid main() * s% O& b1 Y7 G/ z: c# j
{ time_t lt; /*define a longint time varible*/
- w  R* v; ]  d% @# Q$ v$ wlt=time(NULL);/*system time and date*/
/ u0 D9 k- \% {: Bprintf(ctime(<)); /*english format output*/ 2 Q0 {* D8 i) ]% `3 }2 K! M
printf(asctime(localtime(<)));/*tranfer to tm*/ 2 _9 M7 U5 G2 s5 N
printf(asctime(gmtime(<))); /*tranfer to Greenwich time*/
/ S- K, \4 T! \' m6 F0 `}
  G+ @) Y4 h$ N( c2 |0 q============================================================== 8 G! Q- h7 D# u6 ]3 i. |1 n
【程序92
2 Q0 z! ?+ v* q' ]( e" q题目:时间函数举例2 - m0 |+ o( w3 G- i5 Y% ^
1.程序分析:
( D  B9 ]+ a( `5 |6 Z2 H' r" S2.程序源代码:
8 g9 |5 B% x+ W& h( J0 C/*calculate time*/
, ^6 H: `& x0 K6 m. m5 `#include "time.h"
# J- H7 W, q* y1 y#include "stdio.h"
* m* P+ y( H* y% j# o% Tmain()
: R( ?6 T) v$ {{ time_t start,end; 5 s: o$ q9 m' p' P% b
int i;   s( y, T8 T$ M! V( t9 m6 h5 B
start=time(NULL); ! F8 u' \5 E. \
for(i=0;i<3000;i++) - F  e  L# y# Z1 C- N* j3 I
{ printf("\1\1\1\1\1\1\1\1\1\1\n");}
) }! G- r# S7 e) N4 Aend=time(NULL); 1 i8 Z$ Y: A5 z6 l( r: l7 T
printf("\1: The different is %6.3f\n",difftime(end,start));
, j) T/ `# ~% o) \  ~2 F! `8 L* e}
6 P1 B: d' \% `6 k; a! Q============================================================== " O1 x2 r8 h  U" ~: b6 n
【程序93
8 c8 N0 _7 V; h: t  `$ Y2 A) O" e0 O题目:时间函数举例3 ; x# ^, t9 L+ l. ^; p
1.程序分析:
9 ?5 y  B* h6 Y2.程序源代码: 2 m3 l3 K" i0 o6 K; n. Z3 m
/*calculate time*/
" c% {; U& _# y* g3 S- p) p% }#include "time.h" + R; Z" |0 m8 ~2 P- X1 m
#include "stdio.h"
  s+ H# ~4 T1 Z. V! |3 J+ nmain()
' j/ D, m% c4 C7 Z& P& q2 f{ clock_t start,end; 4 s7 }' S& D7 E5 x8 A
int i;
5 j2 }$ ]. D; }* q8 \7 p. ^- B/ `6 Gdouble var; 7 a4 F# p# \, s5 m- T
start=clock();
2 t. o5 @' B& z4 [5 X2 u' X' bfor(i=0;i<10000;i++)
' ]4 z& @5 K! }6 s" X, y/ A4 a{ printf("\1\1\1\1\1\1\1\1\1\1\n");} - I6 }9 b9 |4 |; r5 K0 \2 @- M
end=clock(); # w- n0 e4 s! b' I! x
printf("\1: The different is %6.3f\n",(double)(end-start));
& j7 X3 w- D& ^' b, j5 ?# S9 G, U}
3 T$ A9 `) B8 K# g  N============================================================== 3 A, B, n0 k% ?9 x, v
【程序94+ L$ t" [6 N: r( J, U4 M
题目:时间函数举例4,一个猜数游戏,判断一个人反应快慢。(版主初学时编的) . i6 ]7 J! f7 G% m1 ]0 N& K% B
1.程序分析:
; P/ S! a- j  h/ b, ~2.程序源代码: 0 s& k$ v8 n4 w# f" I5 h
#include "time.h" ) v9 E6 y4 p& r, F8 s1 n3 |2 B6 r
#include "stdlib.h" ' ~. N. y0 }# @) A3 x- E
#include "stdio.h"
% w, G6 P# I4 z+ J, Kmain()
. E/ I, u9 n9 J# H, ~{char c;
9 A! a) C+ \9 g. v. T' Q0 i  oclock_t start,end; , `& C( G3 m- K' r7 q
time_t a,b;
% ^) w$ ~2 X2 R! ^8 Odouble var;
; y8 F  C7 }. p; R8 fint i,guess;   O3 a9 @/ u( t% {5 E' V' P
srand(time(NULL)); 8 {8 k; i$ l, g7 }( W& S0 p
printf("do you want to play it.('y' or 'n') \n");
  Y+ z. F. l2 H) b5 F* x3 d7 floop: . O3 |/ ]5 O: t2 u" t4 G: ^) l8 w
while((c=getchar())=='y')
- A7 L! K& t; q4 O8 y" d% ~{ 6 c' \1 h: h# ?
i=rand() 0; , d0 s- h$ Y! ?3 J
printf("\nplease input number you guess:\n");
9 \: E. K$ i& _$ Tstart=clock();
: Y2 h# U, S& y( u% Aa=time(NULL);
3 C3 Y8 n" H7 T( s0 z8 N  v/ Iscanf("%d",&guess);
* a' s9 V4 Q& _1 }; @while(guess!=i)
, ?) o& `- o) Q- z{if(guess>i) 9 U5 i- w6 F! B' z# n% D) X
{printf("please input a little smaller.\n"); ; x5 j0 Z6 c3 p! w# W  |
scanf("%d",&guess);} ) K4 U8 X8 }# n9 w) J: Y
else
2 f2 j0 i1 o, M: t{printf("please input a little bigger.\n"); " G; L# ^/ s1 i
scanf("%d",&guess);} * Z' d; w& w2 I0 n- s  P! s
}
5 x& x$ f! M# B7 q, W2 ?end=clock(); 4 c% j8 b6 S, |. j' \
b=time(NULL);
) q0 U1 u+ C! ~! x. k4 qprintf("\1: It took you %6.3f seconds\n",var=(double)(end-start)/18.2); 6 O; ~$ B/ c0 e! y
printf("\1: it took you %6.3f seconds\n\n",difftime(b,a));
! I0 w7 H% Q; F$ Z9 Kif(var<15) " E1 m* c+ p- k) z. x6 }
printf("\1\1 You are very clever! \1\1\n\n");
. E* P2 t, r/ u' S3 oelse if(var<25)
4 i6 t; C" r) |( ]; aprintf("\1\1 you are normal! \1\1\n\n");
, v( e& x3 A8 _/ A# a$ p8 welse
/ H! i' C8 S* |. H0 v- b& g$ m* eprintf("\1\1 you are stupid! \1\1\n\n");
$ C- B3 ~5 q& f+ J/ Y8 E6 L- c1 sprintf("\1\1 Congradulations \1\1\n\n");
# b! ~9 Y7 }- L* y7 aprintf("The number you guess is %d",i);
) m' u! H* s* k1 G" j" _} 6 J6 ]4 ?1 N0 T* y
printf("\ndo you want to try it again?(\"yy\".or.\"n\")\n"); * [( W  U' @2 y  M4 O+ @
if((c=getch())=='y')
" I6 W+ g+ E" f/ j& _goto loop;
: I/ [2 X. {$ l/ B: M0 i}
: ?3 z( ]& d2 u. u* l/ M4 v
回复

使用道具 举报

2#
发表于 2017-10-12 10:29:05 | 只看该作者
我一路跟着学习。谢谢楼主!
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|机械必威体育网址 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2024-11-21 00:15 , Processed in 0.053232 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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