机械必威体育网址

 找回密码
 注册会员

QQ登录

只需一步,快速开始

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

C语言算法经典87-94

[复制链接]
跳转到指定楼层
1#
发表于 2017-10-12 10:14:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
【程序87
1 |  p4 ]3 q/ \8 n题目:回答结果(结构体变量传递)
/ P5 V6 d9 i5 Y' {1.程序分析:
; X& d8 t  Y$ g5 v$ q- J6 B2.程序源代码:
, X! Z6 _% H* u. D9 Y7 N#include "stdio.h"
- A4 Z7 [  `* Kstruct student - r/ e  O* L1 X8 U! U3 l+ F8 @  Q
{ int x;
- M0 d& [  }) a9 F0 [- B5 x# ?! ?char c;
8 ~8 z0 L3 G+ j, [} a; . H, ~- R) W2 D
main() : h  Q5 {; h; O- b' a8 E, |+ F% a
{a.x=3; " y5 }2 T! }6 X- v3 T4 H5 t2 g" h' I0 [
a.c='a'; " M& i9 j* }, G5 G' L
f(a); # b# P5 n5 B" j+ O7 |
printf("%d,%c",a.x,a.c);
* Z' z6 v/ w0 v  Q9 d- F! Q1 `} " j/ ~* |3 g' ^
f(struct student b) 5 f- I8 A. _7 b# b( d" B
{
0 J' V- t: Z' }* p5 T$ X5 Sb.x=20; 7 L4 d6 n2 L$ ~* `
b.c='y';
: L) V- x, e- _( i5 o} ! j# P2 v6 e! V1 @
==============================================================
0 H+ @: W; B! ^: S- V$ D! a【程序88嵌入式信盈达企鹅要妖气呜呜吧久零纪要
: n$ V1 y8 l, L. d( h1 o题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。 + L$ \9 g2 @- V, c# o9 i
1.程序分析: ) {4 l, H( Z# p6 e1 K. c
2.程序源代码: 0 n8 B# A4 |* M, k  D' {' l. \3 b% [
main()
- i  J1 K3 x; A{int i,a,n=1;   D6 u' @; b! o
while(n<=7) 5 V, _3 a3 \7 k) j3 y, g
{ do {
. d; _9 e' l' o9 I% W4 N! _) jscanf("%d",&a);   A4 z  s% a0 I7 i8 l! C9 a
}while(a<1||a>50);
7 w, V9 N# _# D$ B. ufor(i=1;i<=a;i++) ( P9 ?5 e1 s* l; X8 ?0 M: w
printf("*");
# @/ c; b: H" t* I# Y; r. m" q. n+ Sprintf("\n");
, `. b$ i8 E5 l+ u& [: bn++;}
- f, t# r6 X7 _0 o4 h2 a1 F9 j$ Qgetch();
4 P; y) X" T( T% ^} 1 v6 d1 n% _/ h- d% ~" W
============================================================== ! y& C; O  a& ^6 u  y7 u
【程序89
7 {7 m! _! q" R% y1 }( i题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:
3 @$ c3 Y6 d. Q0 Y# d8 s: m/ J5 L每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。 ' Y) d7 }1 R9 q! C$ f9 H8 j5 n2 s: ^
1.程序分析:
7 F1 v7 a$ v+ ?, Q) b2.程序源代码:
9 u! }. V, J7 N/ e3 T5 u7 Fmain()
: E" Q/ Y  _) [: ~4 c  x{int a,i,aa[4],t;
2 C! I/ O2 V5 L2 }& ~1 {scanf("%d",&a);
" o3 F+ ]$ o2 h, r$ [aa[0]=a ; + [  v5 {1 J1 _  w  g. }# d
aa[1]=a 0/10; $ T  f  R/ _: s$ i- K* S' D" a+ ]: {2 E
aa[2]=a 00/100; 1 Y3 g& l0 i, S) C" T9 J) p
aa[3]=a/1000;
' h8 q. v. `" Q! |+ }5 hfor(i=0;i<=3;i++) , n$ F0 u8 R- P) G
{aa+=5;
5 V/ z3 p+ R9 ]" d% F+ y! l& o5 ^0 ^1 ^aa%=10;
* }" z' a2 l# Q4 O/ y+ T}
# e4 y6 _" H' s; l$ N. ]for(i=0;i<=3/2;i++)
) d* V" R  r) ~1 A" u! o{t=aa; , M/ }6 B2 c# V+ j+ R- q9 i
aa=aa[3-i];
% N! }; W* |' @1 \5 gaa[3-i]=t; 9 n) O( w5 C1 t1 D4 v: q# a
} , r# S) V: u% Q4 W9 F
for(i=3;i>=0;i--)
, O9 V  n+ w/ V) ]printf("%d",aa); 9 z) D5 V% B0 ]5 e. P6 q0 Q6 ^
} ; y* C1 J/ o4 n) n1 c
==============================================================
: |$ l' A6 Y( n$ C; i% O- [【程序90
8 I" e: r3 T( N$ i2 m9 M$ C题目:专升本一题,读结果。
! B1 {) S6 d$ `4 f0 A8 T) t1.程序分析: 6 K* A! ?- N; |6 K7 I2 M6 `  t8 _
2.程序源代码:
$ K: O  ^# D5 S6 D1 }" v" m" }#include "stdio.h" 5 x. p% e6 N4 i2 c* v. N6 L
#define M 5 * W1 e7 O1 J( w2 k" _
main() ) O6 b7 Y* `7 c3 p5 T: z) p8 q7 [( U
{int a[M]={1,2,3,4,5};   o# v6 I" E6 J. b( J  K" e& p' I* ]
int i,j,t; : S* l) U0 g  j3 |/ t8 M
i=0;j=M-1; % w9 x( i; k: m8 w7 \' M
while(i {t=*(a+i); : k$ M  `( G4 A- _+ `/ o3 L  \
*(a+i)=*(a+j);
8 S3 C7 S. I/ @$ \*(a+j)=t;
) I* y! o, ~6 z8 l) ~i++;j--; 3 I# J+ z* s, ], C& U. b$ B' E3 d
}
8 U4 V6 [4 V1 U% |( Rfor(i=0;i printf("%d",*(a+i)); % h: ~, A: \, r; b+ |8 `( r
}
2 P2 i- u% o, U: V6 O( x【程序910 G$ u( R9 s& m7 f
题目:时间函数举例1 ' r! s" J8 V: c$ i1 J- f8 r
1.程序分析: ( j/ q9 q2 R3 T. V; V
2.程序源代码:
, L7 S7 o5 [9 \/ ?. V#include "stdio.h"
2 N+ X8 h9 f2 w. Z3 Q4 d#include "time.h" , C' a6 d& l) g  E6 ]
void main()
' U8 k% {5 m% j4 H9 w{ time_t lt; /*define a longint time varible*/
- e3 l2 Q7 X& u9 t) g! mlt=time(NULL);/*system time and date*/ % @/ O6 K7 N5 D4 l* j, P: J
printf(ctime(<)); /*english format output*/
7 c  V7 f; y  H+ K$ Kprintf(asctime(localtime(<)));/*tranfer to tm*/ 7 Y0 g" x6 [. A6 g
printf(asctime(gmtime(<))); /*tranfer to Greenwich time*/
; ~( D: X# E. o) {! N3 v0 Z. `* m}
* ?+ V: m7 G* H- [( C9 l, c==============================================================
( E6 X7 c% F9 j【程序92& [4 Y- Z; U% W% N1 `% m
题目:时间函数举例2
6 t% m: x0 v+ W. p+ N! w1 j: l1.程序分析: 5 a  T8 ?, {* R6 l
2.程序源代码:
# i  e( }& j5 |: u7 [  A0 Z/*calculate time*/ 7 \, `( v( g5 s2 ?* r9 v
#include "time.h"
6 a7 y" `3 p# A) u#include "stdio.h" + c5 j7 B* N7 j9 j8 M& V9 e
main()
  m: f3 @$ N3 x. t{ time_t start,end; , k7 S* h% o& v$ R- S. P
int i; ; V) }; W* X# k( w
start=time(NULL);
$ I+ x2 G! S$ R8 hfor(i=0;i<3000;i++)
  h' w8 a3 U' i( Z7 i{ printf("\1\1\1\1\1\1\1\1\1\1\n");} ( D/ V5 u6 k: B! B$ H; ^5 G: k
end=time(NULL); % ?4 V3 D- m2 K7 j
printf("\1: The different is %6.3f\n",difftime(end,start)); $ z/ `6 F1 ?5 p$ ^* q# c
}
# b( j0 h  G; ~( j) \============================================================== ) }- u) M% e# I! O4 s
【程序93- q; d/ ?  A. X" F1 m0 r8 z- A6 m- S
题目:时间函数举例3 0 H3 W9 }( i* h6 \
1.程序分析: 3 i# Q( ]2 o% I$ F. W- Q5 j3 X2 o
2.程序源代码: 1 h. I9 }/ _7 ^/ ^
/*calculate time*/ ' ^. q5 {4 S+ x  G& s4 _6 y" \
#include "time.h" 6 W* _3 V! _/ \  ^; F
#include "stdio.h" " [" f$ F6 r( S3 \4 x3 O: ~9 }
main()
9 G. i7 `; N3 F0 c{ clock_t start,end;
2 `+ B" K  h& h; y9 ]1 z$ P; Nint i;
4 H$ a, P% Q* d! R( wdouble var; 1 b/ X" M/ b* X2 U5 N' N
start=clock();
9 H& Q, N! e+ z4 D: x0 Ofor(i=0;i<10000;i++) $ R, ]4 Q) F. s# G6 Y0 R
{ printf("\1\1\1\1\1\1\1\1\1\1\n");}
8 T9 x, I1 @. X2 H) e  R0 Q* \end=clock(); 2 f+ R, |- s, y" m
printf("\1: The different is %6.3f\n",(double)(end-start)); 7 ~& Z% s! |$ b1 D; W
} 1 ~9 Z( G; v; Y& W0 M
============================================================== ; n5 ]& ~2 Y; z! o. Y- Q5 o. [4 w
【程序94
! d5 X% r2 z0 a题目:时间函数举例4,一个猜数游戏,判断一个人反应快慢。(版主初学时编的)
3 q6 n& K: U9 x1.程序分析:
. F6 F, t" e; Y3 k- P- z2.程序源代码: $ i7 V2 D! `6 s
#include "time.h"
: C5 b3 ?3 Q% N9 H, x#include "stdlib.h"
! A7 s5 Y2 b, L+ r! S#include "stdio.h"
- s* I+ [2 H6 u3 Z( z. ~; Emain()
8 ^8 y  V/ \, u5 q: Z+ z{char c;
! Q, u: i9 T% S4 y1 F" wclock_t start,end; # U1 q4 L/ r! p  S  |
time_t a,b; 2 v; t( h6 F1 ]4 T
double var;
6 Q* e0 u( C0 o" d7 dint i,guess;
/ v/ E: t- i" B3 S6 L6 D4 |srand(time(NULL));
" ~( ~4 m, ?- z5 b, O: Cprintf("do you want to play it.('y' or 'n') \n");
% I4 V+ j+ L6 V& H& Z. U2 Dloop: 1 j+ d. d! ?2 N/ t
while((c=getchar())=='y') * W7 H# V, Q8 _* L9 E5 E
{
3 C' f/ A6 ?* T& e# Fi=rand() 0;
7 h0 ]  e# _$ A  ~& b/ Wprintf("\nplease input number you guess:\n");
8 U! I) k  }  `! B/ nstart=clock();
4 B4 o( a0 i9 @* |* O6 Za=time(NULL);
8 y3 F. _2 `$ f* J# [scanf("%d",&guess); 2 O# T* _: \5 z5 R4 c
while(guess!=i)
4 H  J( a) n& j. |7 t% H{if(guess>i)
- W$ e* I0 i, [- E7 e6 s% T0 e$ t{printf("please input a little smaller.\n");   {/ n; ?  t7 o! T
scanf("%d",&guess);} 4 K+ e% }  V. O5 A4 S  v
else ; p4 B4 t& C3 i
{printf("please input a little bigger.\n"); " A( d" v  O9 m1 C, U$ ~
scanf("%d",&guess);} : e' s* f3 ]4 W: ^, `! K- x
}
/ L3 S. w0 y1 L3 ?end=clock();
. G: K' ?  \' l' O. E+ e7 Ub=time(NULL); / j4 M% q8 D0 H/ m7 f: `( `4 w' A9 u
printf("\1: It took you %6.3f seconds\n",var=(double)(end-start)/18.2); ! P5 K% y6 I2 @# d
printf("\1: it took you %6.3f seconds\n\n",difftime(b,a)); % {3 Y9 _0 i8 ~5 u. \
if(var<15) , N* i* C& b3 B7 U' m( W9 L
printf("\1\1 You are very clever! \1\1\n\n"); $ d# }0 j) _0 \% h$ M% e; r
else if(var<25)
/ F6 b0 U4 J5 h& M6 Q6 Z5 j, |' aprintf("\1\1 you are normal! \1\1\n\n");
% h: c1 g) M" \9 `& I# K: z& Pelse 6 d$ [  a& a2 [3 G
printf("\1\1 you are stupid! \1\1\n\n");
4 `1 n# E6 c4 P3 Hprintf("\1\1 Congradulations \1\1\n\n");
) F: H6 R! ~8 W: f$ [printf("The number you guess is %d",i);
+ J0 c: s2 F) k* w}
  M+ q6 o: \+ A2 d- r- ^$ F! W8 Oprintf("\ndo you want to try it again?(\"yy\".or.\"n\")\n"); 0 `8 \9 p  r8 ?8 e2 `
if((c=getch())=='y')
3 t: T) V. }% n6 h6 Jgoto loop;
% {; G/ {- r0 |}
% a( b4 ~6 M/ {$ K: m  ~
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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