机械必威体育网址

 找回密码
 注册会员

QQ登录

只需一步,快速开始

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

C语言算法经典87-94

[复制链接]
跳转到指定楼层
1#
发表于 2017-10-12 10:14:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
【程序87  l) U; L& b4 @2 ^5 g! H
题目:回答结果(结构体变量传递)
2 R# J! Y" V1 B5 p2 V' x# W" I1.程序分析:
8 w: p4 C5 y/ w* t4 c. i- H! O1 J2.程序源代码:
1 O0 q* v. G0 b* |/ H' x/ P5 ~#include "stdio.h" 0 g" ^- R% Q" J2 @, j& w
struct student
: o7 h# }  a7 E2 o6 X{ int x; 4 i! N! u2 R4 f. j- w8 R) s
char c; , T# ?! l' S- S$ B- y% C- i
} a;
, c% O8 g2 R3 P# \main()
5 W4 L1 d  t/ X. g/ w{a.x=3; & n% A3 [5 b' c# m0 N
a.c='a'; & ?0 F: s& d9 h2 m# I3 O
f(a);
8 O3 t% L6 R9 \7 Kprintf("%d,%c",a.x,a.c); 0 S# b/ I6 h$ o1 ^4 L
}
0 K' L- _, k+ u' Jf(struct student b)
5 I1 p- n- L: m{   L. ~6 Q. n9 \) K9 x' t- F
b.x=20;
; W3 @# D* R* x8 F! F3 Db.c='y';
: N  J! b( o  w} + H5 E6 [+ M# u
==============================================================
8 e4 n  G3 ~' y- j- X6 m6 b【程序88嵌入式信盈达企鹅要妖气呜呜吧久零纪要 ! e6 D' H6 Z4 W, x$ w+ l
题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。
. r8 e2 T) n- E, l: W1.程序分析:
- `3 T6 z& W7 `) G2 y5 r2.程序源代码:
9 J- u. u5 m! }: @, L6 xmain() . \3 G* _8 l8 ]
{int i,a,n=1;
* `5 I, ]7 N+ n& K1 nwhile(n<=7)
  I. j! p8 S3 z( D/ V: ~{ do {
0 {' J( Y, }% G6 i) {( s) Fscanf("%d",&a);
$ X% o% u* Q9 E4 Q}while(a<1||a>50);
( T. R; j, ]  ^+ H2 b. Yfor(i=1;i<=a;i++)
9 D+ d; n1 a1 jprintf("*");
2 \% K1 N% p3 K$ _- ?/ z% lprintf("\n"); 2 R$ u8 `0 Y# t; }5 n9 S7 A
n++;}
% @6 b" _- P; N. egetch(); ) P& e  N; v3 C" G
} 1 x$ O2 j" ~% S+ Q5 L5 E2 k8 M6 s
============================================================== 7 [7 f( o9 C7 J
【程序89
2 j3 H6 Y) O! b题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下: " i# F5 r3 T( X: O
每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。 7 R# E& K- A# P- q/ A6 v! @1 Q% Z
1.程序分析:
( j) H: Z9 f3 N2.程序源代码:
9 U7 P; \: ^: d1 f6 D: Z! g( t$ mmain() 2 n: S  ^! V0 m' F1 ^9 B
{int a,i,aa[4],t; ) |9 p6 G& `# x4 U+ J
scanf("%d",&a);
/ C* a7 g* ]) U3 r2 C% a, waa[0]=a ; + h/ A; T6 n% B. I+ k. c
aa[1]=a 0/10;
7 ]& ?. {" u4 Y; B5 u' z8 ^aa[2]=a 00/100; & ]& `0 n5 K% v' o. i
aa[3]=a/1000;
4 L0 D' P- i0 F' C! \0 W# c: g, Efor(i=0;i<=3;i++)
4 l9 Z9 z: `4 z{aa+=5;
9 o/ s) w$ o$ J2 |9 Raa%=10; 7 j. b+ r  g# a, a& P( f( K
} 3 `! r/ \5 a1 {  x) Q7 h
for(i=0;i<=3/2;i++) 3 i5 b, M- w0 X& w
{t=aa; 7 r; {# p6 C9 ]/ h
aa=aa[3-i];
: m; K" i: j# G7 Z0 F% [! Y9 Iaa[3-i]=t; % Z) c8 K# q# K6 P8 l7 w1 I8 c! Y3 F
} * A0 F' b+ C' h
for(i=3;i>=0;i--) . T6 ?- o: e! j4 G' ?# |) M
printf("%d",aa); % q+ T3 j" C: T, D. d
}
& ~4 f+ ^* ^$ K- Z============================================================== 2 V+ L" F9 H! }% h& v
【程序90
; k% C) |# `0 z/ y- h0 ^题目:专升本一题,读结果。 9 A9 `$ ], H5 H" d% R
1.程序分析:
; f  J9 v. B7 _2 W  J2.程序源代码:
$ ]( M" F( E4 C# Y# o#include "stdio.h"
" h; ^  F# a# _, H+ m#define M 5
) O- N+ D# v; \7 C9 Smain() 0 _$ S9 Q# P2 b9 }9 a
{int a[M]={1,2,3,4,5};
+ U, ~5 |) }) c7 f" a" Yint i,j,t;
5 }7 A6 |4 [; X# g) hi=0;j=M-1;
- l" E: ~5 G1 F, |9 ?6 x) }  ?3 E2 qwhile(i {t=*(a+i);
6 p- C! t$ e  o* D  ?*(a+i)=*(a+j);
( E, G0 i3 A  U0 l*(a+j)=t; ( t- \( z/ j6 H, y- @( j% ]5 Y
i++;j--; . G) h7 Y7 \+ d# |
}
& O  J6 F) S: f, e# Z: E+ h% D( Rfor(i=0;i printf("%d",*(a+i));
1 s) D3 s5 r' s- C1 K0 r2 {} ( o) W2 _6 `0 b+ K3 P
【程序917 Z8 a! [, C8 R
题目:时间函数举例1 1 `3 i0 V: R  D, [1 ^" o+ j$ S
1.程序分析: " {1 e2 Z5 \# Y- R% L
2.程序源代码: 1 e0 A( v- J; N% [
#include "stdio.h"
0 ~( O+ M7 r! a: J#include "time.h" " t" ~7 `  Q, b2 @. H
void main() ( {! B; w1 z  n
{ time_t lt; /*define a longint time varible*/
, \5 b; W. U( }) K  Z3 Ilt=time(NULL);/*system time and date*/ & G+ c. e" w- ~3 p0 s
printf(ctime(<)); /*english format output*/ ( O' |1 b& A* b3 Z9 L
printf(asctime(localtime(<)));/*tranfer to tm*/ # G" x% C+ x# S- @5 Z: R* ?
printf(asctime(gmtime(<))); /*tranfer to Greenwich time*/
6 I) n/ a& s  Y! e7 q) \}
& g1 `4 i$ W; ?7 f& M==============================================================
0 y0 @2 t$ @) O3 e8 ~【程序92
& F2 i& l# z% w* i( k- h! Z题目:时间函数举例2   @7 f% g, t, l4 o
1.程序分析: - @, Q5 h5 `( P4 X" l4 ~
2.程序源代码: - N% s( n6 q4 s/ M% o7 B
/*calculate time*/
7 L2 m" F/ X' u' I#include "time.h" 1 U1 {. [# p( Y5 w* r
#include "stdio.h"
0 k; P( n7 Y( K! p8 l: y. Imain()
8 u& d/ n8 O1 {{ time_t start,end;
2 Y0 @& {* q7 c0 S/ E3 J+ `' pint i;
; \8 {8 x' T# k0 L3 Ostart=time(NULL); 9 g! r# ~) k: S) Z$ n
for(i=0;i<3000;i++)
3 p8 m* C1 O) j8 z& N& D$ B{ printf("\1\1\1\1\1\1\1\1\1\1\n");}
3 {( {7 o; R% e- i0 G; `* a+ d3 Dend=time(NULL);
) e* b4 {& K4 q) [printf("\1: The different is %6.3f\n",difftime(end,start));
8 B) o7 D3 l* s0 z- h}
4 I# I7 a, \, m8 n  p+ w==============================================================
, y3 W# [4 L2 C) b# Q【程序93, T9 d1 W0 b* x$ b' a
题目:时间函数举例3
  F' e1 G( V5 o- f5 C6 B, _3 }3 z1.程序分析:
0 u' C8 j  s7 i( ?  E2.程序源代码:
6 P3 X- ?% Y- b- a6 b3 \0 }2 v/*calculate time*/ , }- @$ B; M4 n+ E
#include "time.h" * l* h% o8 y9 V
#include "stdio.h"
4 ~& }, c9 h2 p; Z9 u) s0 V! Smain()   `" l- _" W$ T' |
{ clock_t start,end;
$ s7 ~, _% d6 G  @9 ~! p( I5 C& K: Dint i; # Y4 o6 g! ]/ X' B! p1 l5 K
double var;
$ [  z* T% P3 l" _0 Zstart=clock();
4 T! }( O* s/ ^7 ]- s+ v  Ifor(i=0;i<10000;i++) , g0 P+ u( r% b- ?& w4 b
{ printf("\1\1\1\1\1\1\1\1\1\1\n");} 6 s9 }: f+ |7 T
end=clock(); % c% E: d  O: F- x  A/ c* g; `
printf("\1: The different is %6.3f\n",(double)(end-start)); / V) {- @+ x$ t- \7 @- ~
}
1 R! o% Z2 l9 e. Q==============================================================
& V+ t0 A$ D$ H, q【程序94
+ ^" k! x/ o  H# b2 c5 o题目:时间函数举例4,一个猜数游戏,判断一个人反应快慢。(版主初学时编的) 0 t2 [; ]5 k  f; E
1.程序分析: ) M8 i! h, f' d7 c
2.程序源代码: / f+ f' i1 m4 }( b- y
#include "time.h"
6 j. i; U: y/ W' [% S#include "stdlib.h" . C7 g, \. O% ^! F
#include "stdio.h"
9 b9 V9 c+ c. H% Mmain()
, J  Q+ }4 P' ^: H{char c;
* g! u* E  a8 Y0 j) h) n' Pclock_t start,end;
. |$ ^8 o, B' G- R( htime_t a,b; 4 K$ R* h7 U7 `( k4 ^5 z
double var; : g+ y; F5 x: S  d1 z9 ?
int i,guess; / I( {  s5 B  o
srand(time(NULL)); . l2 B: W+ G5 u% E) M$ t3 E
printf("do you want to play it.('y' or 'n') \n"); & M. O' }5 n; V! y. \  j
loop: 7 D' ^% C  ~" F8 n% N2 j
while((c=getchar())=='y')
. _6 f7 S) _% z* _5 q$ V+ ^. J{
8 O, _( ~2 _) a& Gi=rand() 0; 5 I9 H& o$ ]6 ^0 ]0 f% B; r4 _+ B
printf("\nplease input number you guess:\n");
1 W6 V1 N  |8 I5 F0 u) K  Kstart=clock(); ' d# }' v& }1 ?; D
a=time(NULL);
0 Y& y. s, Z5 ~5 K: }: jscanf("%d",&guess);
1 j8 C# T- k5 Lwhile(guess!=i)
. J! U- C7 b- I/ A2 O{if(guess>i)
. ~( ^2 v, J  w  ]) ~* y{printf("please input a little smaller.\n");
$ S" D# N/ D% z+ I2 rscanf("%d",&guess);}
9 p4 Z6 n+ e3 Ielse
- }2 }1 R: x7 @9 P+ A! c{printf("please input a little bigger.\n"); 4 b+ s' D4 C% [$ \; d+ M
scanf("%d",&guess);}
1 x0 W" S5 m. h. g! j1 J; s4 N2 d}
  E% g' l1 X# q9 C! f. G3 Eend=clock(); , L8 g% N7 ?/ l. g3 S
b=time(NULL);
+ O% V3 b0 [, E- uprintf("\1: It took you %6.3f seconds\n",var=(double)(end-start)/18.2);
! G: u% u7 q9 P# T0 [$ lprintf("\1: it took you %6.3f seconds\n\n",difftime(b,a));
/ W  g% q0 d3 N" Uif(var<15)
) M; S% A7 T9 H4 a  {5 t) nprintf("\1\1 You are very clever! \1\1\n\n");
" V0 {: T0 C, Q& J" Q6 G8 uelse if(var<25) - Z- Y6 G8 M' ?0 k' K. h
printf("\1\1 you are normal! \1\1\n\n"); 1 e9 f& u3 i  O+ L( c
else
+ @3 j. Z' i0 pprintf("\1\1 you are stupid! \1\1\n\n"); 5 m4 V$ r+ c8 u9 ^
printf("\1\1 Congradulations \1\1\n\n");
2 j$ h" @$ K6 b/ Hprintf("The number you guess is %d",i);
5 F) h+ P; D+ l+ s- q}
; r6 V& u* u8 L  H' x; l7 `printf("\ndo you want to try it again?(\"yy\".or.\"n\")\n");
$ e5 ~/ s; M  C0 v0 k1 Cif((c=getch())=='y') . j' r, ~3 r2 s. v; D; ^7 M0 S
goto loop; : T* G5 Y9 C2 Q" m, [- B6 ?/ Q
}

  X9 L; A9 s3 l& B/ H" W9 F& h
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-20 22:39 , Processed in 0.049785 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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