找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 2230|回复: 1

C语言算法经典87-94

[复制链接]
发表于 2017-10-12 10:14:07 | 显示全部楼层 |阅读模式
【程序87% N8 D5 M' }( [$ N0 e8 U7 r2 e& M6 S
题目:回答结果(结构体变量传递) 0 w; [" M5 ?/ P& c# b& C
1.程序分析: , X# i. h6 g! U8 t3 c
2.程序源代码:
% S* @, k' g7 g  m6 z#include "stdio.h" 9 @' |" y7 A0 Q2 b' M6 {. A5 |& g
struct student
4 c& |- \3 @; d* W9 e{ int x; ( V: a1 \2 P  f6 ^! x& F& V2 b
char c;
6 |5 d3 n9 O; c. x! h# f} a; 6 d/ ~1 z1 [: v) `) z- H
main() # J) z8 u7 w5 N
{a.x=3; 4 Y4 _5 e7 d7 o+ ~2 C
a.c='a';
  h& W+ P6 r1 [, G/ r1 Gf(a); 9 b; ]" ?2 U, n, y/ r4 g$ q! s
printf("%d,%c",a.x,a.c); 6 @5 }; v/ `! f! ~
}
+ o' M5 a0 a/ q7 N+ O. d1 Z2 @# X3 A* Vf(struct student b) . _  @) {; ^5 F& x
{
% w2 P% @" _. {: `b.x=20; % a& ]4 {: u! M+ p
b.c='y';
4 p8 [0 w) P0 j7 W. k}
  m  i/ s8 @0 E+ _) B2 t============================================================== 7 e8 A" x$ `5 h
【程序88嵌入式信盈达企鹅要妖气呜呜吧久零纪要 1 l7 i4 g2 T8 t
题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。
  R; w8 c' y/ H3 T* O+ w1.程序分析:
* P6 C, m8 W  c+ d% v9 Y( Z2.程序源代码:
9 w5 ~9 p6 U0 r: {3 J( m! {2 Fmain() # ^$ z+ L* Z* C
{int i,a,n=1; 8 H( r, W$ V3 F3 @8 l9 l9 W5 T
while(n<=7) : {# }& g4 c! \$ B
{ do { & u, x8 i' c  _: R4 j$ _
scanf("%d",&a);
* C0 B# G) |# N- ?}while(a<1||a>50); / t1 f" \& [$ x* f( d2 e
for(i=1;i<=a;i++) 7 L3 A) [" D% u
printf("*"); + ?# G5 `. ^' A: u2 Y7 k+ G
printf("\n"); 1 i" D! W" ~! x0 k
n++;}
# [7 a$ t" s4 `2 x& c4 W. \getch(); 4 {/ X# d; `& S& }8 i+ ^
}
( w7 \& ^. N; F# D6 K7 V==============================================================
  v+ `8 x  `% A: W( u4 i, X【程序89
9 c; p6 Y' Z! a0 E6 n题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:
& _, w5 T" b: D& N每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。 : Z: o1 |# h5 C# m5 G! u6 K
1.程序分析:
' T+ d7 T, X3 ?/ l& M) T+ V! Z2.程序源代码: 1 M( C* e; M9 b6 \
main()
6 p' d# T8 n7 Y" L" f{int a,i,aa[4],t; 8 v( [# E+ m# u' }1 U. R* P. I- [; @
scanf("%d",&a); 7 J( o5 C- [* f# D" u: Q4 Q7 o+ D
aa[0]=a ;
; B; w! G8 D5 h2 U( Taa[1]=a 0/10; 6 c! E; U# O1 Y
aa[2]=a 00/100;
- V6 c# I) K$ Q3 Paa[3]=a/1000;
* i1 D, w+ B) d" ~. R& yfor(i=0;i<=3;i++) , H" b7 e/ i- Z' y" k6 E
{aa+=5;
8 v6 t: L" T: C) ]& k4 z4 `aa%=10;
' Q6 L) B9 r- T; o9 ]8 v/ {} . e1 r% A$ x+ r
for(i=0;i<=3/2;i++)
: F# S+ D7 D# c) p# E{t=aa; ! P7 J0 ~% b! [) h& [5 ?
aa=aa[3-i]; ( E! B% S4 V7 g5 f) _' z% ]% y+ \
aa[3-i]=t; ; O; v. r. _, H5 r( k7 ^
}
4 c, ^( m2 Y0 K8 X7 pfor(i=3;i>=0;i--)
+ Q, J  D& x2 }7 d& F" h, Lprintf("%d",aa); ' }4 g1 y" q% X
} ; o8 W$ R+ Y; p, |- k# K
============================================================== * W( G; D3 Q1 m4 u( V. R
【程序90
4 Q# B5 T3 c3 f5 v, V题目:专升本一题,读结果。 ' a( L6 O( s( R1 z3 l  H6 ^
1.程序分析: 1 h5 ]* E! ^# L2 o; I+ Q' j8 s8 c
2.程序源代码: # d2 b, |9 v; y) j1 }* F5 R
#include "stdio.h"
* `5 c, c8 E: ^7 t#define M 5 - [& F: \# U( s. W% P& c
main() 8 o4 A% S1 x  f+ e5 h& g/ A% Q" f
{int a[M]={1,2,3,4,5};
0 t! ~, o- H9 r" @9 [int i,j,t;
' d$ X* t# n4 Hi=0;j=M-1;
$ S; i8 @( [" c, Xwhile(i {t=*(a+i); ) ~, M: P4 X- L6 M+ V/ D& N( x/ V
*(a+i)=*(a+j); ( i, V6 |9 |8 ]% ~
*(a+j)=t;
! J# v+ @$ a  O4 @" b- b) _# P5 |i++;j--; 6 X( X- m0 a7 E) y) _
}
4 {$ e2 i8 ?4 U: j' C$ jfor(i=0;i printf("%d",*(a+i)); # ?) P9 O1 V$ n1 E
}
0 Y( V0 [/ L1 F0 [【程序91! z' U9 q, N  v; Z  ^
题目:时间函数举例1
" q8 K7 N. Y! E/ R4 {1.程序分析:
+ d, s/ c( |& f7 p! ^# p. `2.程序源代码:
) ?, r" Q) W2 {+ J, E5 W) t7 G#include "stdio.h" ; k4 ?: [4 E2 g$ q
#include "time.h"
$ H6 {) N1 R0 g+ P. V4 q9 Z6 gvoid main()
: v7 S" F5 L  L6 U7 q$ g{ time_t lt; /*define a longint time varible*/ , `2 g, w, {. h, v7 c
lt=time(NULL);/*system time and date*/ ; ], S# }: f$ I1 U. r
printf(ctime(<)); /*english format output*/
. k, J2 @8 X. }& z2 s  Jprintf(asctime(localtime(<)));/*tranfer to tm*/
  n: H* ]* D  Iprintf(asctime(gmtime(<))); /*tranfer to Greenwich time*/ , o# N* W* ]* v9 c4 z
}
3 O/ w. T2 S# |0 D4 H# l============================================================== 7 d$ u7 ~' e. h& v# E
【程序92* L2 W5 ]; I# d. U; ^* `
题目:时间函数举例2 ! G0 Y9 ^) q8 Y) z
1.程序分析:
, B/ a2 Q7 ~1 [! u, B2.程序源代码: 1 D( g1 z  T3 R" Y5 F. \& N) W% v
/*calculate time*/ . j, H* e6 K# R6 c, v: g% B1 o
#include "time.h" / D! G  D% g- o
#include "stdio.h" # a( e" I. M& ~6 H6 |
main() ! n! H( `% x1 e6 Y$ T" ^8 ~  w; V9 E
{ time_t start,end; - Z- u1 H: i9 l* [- O' s" H' x
int i; : l. o: a. a6 a0 j  N3 Z" _
start=time(NULL); 9 H; L. w& h4 P8 N5 o: Q
for(i=0;i<3000;i++) 1 r3 P# u) y6 f1 a2 H6 h; U
{ printf("\1\1\1\1\1\1\1\1\1\1\n");} * d2 Z3 b: k1 ^, e/ v
end=time(NULL);
5 S$ l  p/ c( m3 e6 a. Cprintf("\1: The different is %6.3f\n",difftime(end,start));
  N( H. ~; z% u: D& B4 `6 a: {' K}
9 K1 j" T3 S" o% _============================================================== ' E! b) v3 a+ E. H+ }5 K
【程序93( G$ ~- p" K0 u/ h/ h, [
题目:时间函数举例3
1 h! P& j+ B6 H1 r0 M! |& ]1.程序分析:
& e3 m! ]2 C$ X3 |$ ~1 N2.程序源代码: $ V; U( E2 K6 c: h
/*calculate time*/
. d9 v; p; k, p8 ^5 f#include "time.h"
; `" ~( R+ |; Z8 a8 H#include "stdio.h" : ^$ E# V8 e; R
main() / n/ S. `; H, q" W2 B
{ clock_t start,end;
, G6 @1 m% p5 F" tint i;
- h6 J; B6 g: w& y- W9 A7 kdouble var;
6 x8 g/ q3 U  {7 \0 ostart=clock(); ) [% H; n: Y: @0 z% l# c- B1 b
for(i=0;i<10000;i++)
7 c. J$ @! @( Q! y1 O{ printf("\1\1\1\1\1\1\1\1\1\1\n");}
# r5 p6 f$ B/ O) Y0 x& a; Send=clock();
3 x* K. @! d& k2 o1 p* s; Z5 p8 Nprintf("\1: The different is %6.3f\n",(double)(end-start)); 0 M/ q! U% i0 t
} 6 n) E- |& t& c5 b: g
============================================================== 7 c( ^" `" M/ B, l
【程序94
" k1 r. `4 Y( W& \6 \% C) V$ V2 Y题目:时间函数举例4,一个猜数游戏,判断一个人反应快慢。(版主初学时编的)
9 `! b7 X+ ]6 O9 F" @4 ]$ e+ M6 g6 b$ Q1.程序分析: : F- _; G. q  V  Y* B7 r
2.程序源代码: & k. {/ y$ `8 I* }
#include "time.h" , X5 a( @# w: u. |0 d
#include "stdlib.h"
& i! R3 g$ {2 S1 v& ]! X#include "stdio.h"
# A+ q0 x6 ^- Tmain() 6 [0 E  Q* F3 b! Y, d
{char c; % N3 d! h# e/ D4 W  I' u$ ~$ [
clock_t start,end;
$ Q- {1 z# E& ytime_t a,b;
' \! @! \. I, Q1 q4 @  g" |* c* C+ edouble var; 6 A5 M4 u6 w* H6 L7 b9 m
int i,guess;
: y6 q6 h0 q2 ~7 v5 p, y; zsrand(time(NULL));
3 u  \7 m- F% R0 U  Uprintf("do you want to play it.('y' or 'n') \n"); ) k/ w* @8 F  t5 i) W, @
loop: 5 j  M- B2 I8 X: \7 m1 u
while((c=getchar())=='y') 9 ^$ W: L. c' b& a. J
{ 4 ]! ^6 l  m* s5 A  d" h
i=rand() 0;
: y$ q8 h7 Q! fprintf("\nplease input number you guess:\n"); # p$ b- Z: c9 M! r
start=clock();
5 Z  C8 x5 `2 g' O/ O: F2 [a=time(NULL); 3 e. H9 F/ ~' j6 k
scanf("%d",&guess); $ U% s) S4 x. p, l- b
while(guess!=i) # Z8 S3 O( Q# _% A
{if(guess>i)
6 ?7 S$ p+ H+ }9 I& X4 l9 }{printf("please input a little smaller.\n"); 1 k* \/ k# B% M! c
scanf("%d",&guess);}
) ?& I9 J/ @/ N$ e0 j5 oelse
2 C9 l4 v" s7 E0 u. b! @{printf("please input a little bigger.\n"); & \" x" {; z! v+ U
scanf("%d",&guess);}
5 V% A0 u% {# T, z} 3 r0 B/ s/ t  z
end=clock(); 2 H: c2 x, ~$ C& Y; J5 M  o- Y
b=time(NULL);
& `. t- b1 I. pprintf("\1: It took you %6.3f seconds\n",var=(double)(end-start)/18.2); $ y, ?+ y' N0 M+ Y# Q4 M* G+ _
printf("\1: it took you %6.3f seconds\n\n",difftime(b,a)); / I1 }/ P& g0 W- D
if(var<15) : [) E5 l) N; Z5 f! a3 j5 y3 m! U2 Z
printf("\1\1 You are very clever! \1\1\n\n"); 3 N8 c) q# n3 V3 Z* F: {; _! [
else if(var<25) ! }4 s4 b* k' L" ~% j: K6 b7 f( l
printf("\1\1 you are normal! \1\1\n\n");
9 K/ l& K7 c- B  d! z  ielse
  F5 `3 x7 T4 _: Q+ ~/ u  V( z2 [8 uprintf("\1\1 you are stupid! \1\1\n\n"); 9 F3 \% R; o, F" R0 ~# o
printf("\1\1 Congradulations \1\1\n\n"); - B: G8 s+ y! o2 e7 d2 b& Z
printf("The number you guess is %d",i);
. c5 B* x- V9 p7 n0 b; [, f' y} & r! T0 G  |& _# l. }
printf("\ndo you want to try it again?(\"yy\".or.\"n\")\n"); 3 X$ w7 R+ W6 f9 Z6 t
if((c=getch())=='y')
9 l# d1 n: w3 n( s8 fgoto loop; 5 H/ ^" k3 k7 f; X% c
}

) ?. u  p, X- \
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-2 19:08 , Processed in 0.064181 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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