机械必威体育网址

 找回密码
 注册会员

QQ登录

只需一步,快速开始

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

C语言算法经典87-94

[复制链接]
跳转到指定楼层
1#
发表于 2017-10-12 10:14:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
【程序873 W+ W! R, N: {
题目:回答结果(结构体变量传递)
' g2 d' N2 j0 [1.程序分析:
( M6 G5 n+ C' M4 C1 }" e2.程序源代码:
7 X, E& O' Z1 @3 m& v#include "stdio.h"
0 N. I9 X0 l2 Qstruct student 0 B% H( c- \& p) Z; s
{ int x;
5 _, {6 c( N: G8 [6 Kchar c;
8 B9 Y& f9 n' g/ Y} a; - J6 N0 h$ ^- Y' r+ s, O- {' a
main() $ R7 |& `' g7 h  e& t; F
{a.x=3;
( @+ A6 W/ ^8 F$ r" t: P8 t: ta.c='a'; ( V, z9 D; u$ J
f(a); 6 K! E) `  @1 ?% X, ^
printf("%d,%c",a.x,a.c);
8 U$ o, ]* _: t! m} 8 j' C6 ^( B3 [$ @6 P0 w) _. N" w
f(struct student b) 0 w. n- h+ x7 t$ b. D9 h/ F
{ 1 x9 m7 c0 z! W# o8 f* C& _
b.x=20;
! S+ B) F9 x( I' w7 c2 Nb.c='y';
+ \# [) D2 P& o' W( r7 k}
, u1 ~! z% k: a2 K+ w' S4 X, E============================================================== 5 _5 X* H' J8 V9 D5 `
【程序88嵌入式信盈达企鹅要妖气呜呜吧久零纪要
' [8 |) A8 T! {6 V题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。 $ ]' ]" W5 T4 r  G. U- u+ u4 O
1.程序分析:
: ?6 E0 i9 q0 k% Z2.程序源代码:
7 r7 q/ V9 G4 w% Y% _main() 6 _; t6 R$ q, K7 P; g/ m3 m& s
{int i,a,n=1; 2 w, R( d8 P3 {" q' \) o( x
while(n<=7)
; U! F* M1 H, d( g/ C{ do { 2 g3 \! U( H2 l: n* Y8 W4 h
scanf("%d",&a);
, o1 B2 k7 \( r0 A9 V3 u( Y}while(a<1||a>50);
5 e/ n$ M1 ]# l5 S, k0 efor(i=1;i<=a;i++) * W: v: x2 E) i& H' S# e
printf("*");
1 m' x5 B( k) ~0 @printf("\n"); ; |# o  G; A5 t) d4 z1 o% R
n++;}
. K8 D- a0 P* ~getch();
) W( }  C8 O# C( N' [: m} $ N+ F; _, y4 x- _( V6 ~8 e- D
==============================================================
  B( s5 ^* e4 _; K  ^【程序897 V, Q3 z4 G2 Z/ v* b! e3 V& ?5 p7 W. D
题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:
* e  I# C/ y& D每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
8 k+ Y0 I4 i! N- X* ]1.程序分析:
% e, M' Y$ B/ Y& Y  G2.程序源代码:
. C' _# p. W2 N9 X  mmain()
% S( ~6 q, Z1 _/ F, A3 t2 K{int a,i,aa[4],t; 1 u) U; t/ W- ~7 v0 ^; S' n3 _0 H
scanf("%d",&a);
; l* T$ \, v3 S$ F: \aa[0]=a ;
( `4 L" o, y- O# t5 haa[1]=a 0/10;
  Z, J# [: I4 a( Caa[2]=a 00/100;
: D& L% q* U, o& oaa[3]=a/1000; 1 W7 u  ^0 t, V. l* k! R+ S
for(i=0;i<=3;i++) , n5 X9 u9 R& I3 N. ?5 I8 K7 H3 f" H
{aa+=5;
  Y5 d  f) S$ F- s# _+ \7 c/ A1 raa%=10; 2 I: d5 R7 ~1 T8 e# Y0 }: Q
} : g( p1 N# Q! U& \/ d
for(i=0;i<=3/2;i++)
4 E1 Q' X7 Y: `( I1 U8 L{t=aa; ( N9 b( u* Q* R% b) X
aa=aa[3-i]; - N; ^* `- D" q; |4 y; j( f1 E
aa[3-i]=t; 3 ?: X. r2 G  w4 Q) U5 d
}
8 \1 V& W' J# M; p3 Y1 kfor(i=3;i>=0;i--) : r, }" e/ r" [" b0 R1 B0 D- Q
printf("%d",aa); ' n: A7 d5 _% y# ]8 @
}
% F. x. [% y  d) W5 k. W==============================================================
7 ~% ]. ~- w9 G1 `0 p【程序90
6 `- C) j8 J# {5 d" @1 ^* j题目:专升本一题,读结果。
* I' X$ J1 L) ?5 j' L1 }/ G; j1.程序分析: 5 X- `) U1 e8 ~$ _4 `
2.程序源代码: % |8 @& C3 A* ^( c
#include "stdio.h"
0 {- o$ o6 N- R' {#define M 5 + }7 h( B$ m6 K/ w$ w) w- }
main() : r6 U3 f0 [! Q3 }
{int a[M]={1,2,3,4,5};
" r: l& Q1 o. t( {3 E1 Kint i,j,t;
3 u) U& @+ i6 \% U  c& Mi=0;j=M-1;
% A6 o  L. z4 P; N1 A4 ?- n3 Ewhile(i {t=*(a+i);
, V: |& q7 [8 k& P*(a+i)=*(a+j); * b) B5 d2 i) m
*(a+j)=t;
1 Z+ j7 e6 K: b9 Q/ f7 ki++;j--;
# m7 _+ n) m; U5 E6 E# c} * Z# M. H, t& P
for(i=0;i printf("%d",*(a+i));
! N& m/ h& q1 W} % R8 n" j  K  k8 J0 c
【程序91
3 `$ V  r/ T  s题目:时间函数举例1 & D) P- N' N$ ]: I+ U
1.程序分析:
5 F2 t! [# Z5 p! n1 X0 F8 O5 D2.程序源代码:
! x  P8 J! _- y2 b3 _#include "stdio.h" # \% k. a& p  c( [' N5 f3 n5 a
#include "time.h"
% Q! u- A1 g! Q9 i) _. a+ Kvoid main()
; s" O. Q6 O! x/ h* m{ time_t lt; /*define a longint time varible*/ & [, U3 M) I% F
lt=time(NULL);/*system time and date*/
) @& T. B. F' J: Lprintf(ctime(<)); /*english format output*/ * H. N" {: X+ Q! I. p
printf(asctime(localtime(<)));/*tranfer to tm*/ 3 ?7 D) E# J( s4 z
printf(asctime(gmtime(<))); /*tranfer to Greenwich time*/ $ ?" K! c) s  j& m# g
}
& y6 c& [8 a$ G9 o$ g. |============================================================== % Z3 n2 \4 `7 r; M8 \
【程序92
$ [( c% G( p( \) U1 E5 L题目:时间函数举例2
4 T; s5 j9 i6 ~; w- D3 P1.程序分析: 0 l: g: X3 C+ ]4 @* E! w, c( R
2.程序源代码: # O* M: d) r9 a( T6 _
/*calculate time*/ $ ^. F5 ?2 _7 M( h4 Y
#include "time.h" * ~6 `$ M; p9 r, M
#include "stdio.h"
8 {- v; S3 c# [1 p3 {2 ?main()
# S. U( O( Q+ U9 f{ time_t start,end;
' e9 e% }, e3 A3 Cint i;
- C% ?2 {! h. Lstart=time(NULL); . W6 ~  O% \0 d; H$ m
for(i=0;i<3000;i++)
9 e7 Z! F( H, }' ?0 `9 \5 {{ printf("\1\1\1\1\1\1\1\1\1\1\n");} " c  A; T$ c( X( F- v
end=time(NULL);
, u' D9 h* p7 d! w% V2 Tprintf("\1: The different is %6.3f\n",difftime(end,start)); ( z  I8 X* _  ]
} / W! f" }: G# e. x" c
============================================================== ' I' s3 G( h0 k6 X
【程序93& |& |( s. v2 D6 ?, u/ D% X
题目:时间函数举例3
, F) x  X' `2 `8 t' p5 |1.程序分析:
( G3 e  b' g( b% ^! F8 R* q0 {7 f2.程序源代码: 5 @6 x* i  m- }
/*calculate time*/
& }) Z0 O) o* G#include "time.h" / [9 I& i/ c( T- f' V. H9 Q3 F
#include "stdio.h" ) J  p  }. B$ V
main() . v! L* c! H, E; m
{ clock_t start,end;
0 x% }1 P9 \& u1 `0 ]/ o' Cint i; 3 G* _  [; c* f- ?( `- Q
double var; ) G$ }. R- O. n5 q
start=clock(); 5 Q" W0 X' i. A0 p/ j- @" ?0 \
for(i=0;i<10000;i++) 7 v# H: L  h. r2 F% d
{ printf("\1\1\1\1\1\1\1\1\1\1\n");}
/ A3 o6 _% s3 ]% M; h/ Mend=clock(); * B$ X! Q% E/ C" _* b9 k
printf("\1: The different is %6.3f\n",(double)(end-start));
, k2 G2 U( j2 E0 k1 [6 \}
' c0 H, y8 `, a; Y==============================================================
4 Y) z: n! @. w1 R2 P3 s【程序94
6 `' ~" N5 {% D% G( ^题目:时间函数举例4,一个猜数游戏,判断一个人反应快慢。(版主初学时编的)
3 u% H! x" J, x1.程序分析:   K* s1 M7 S  N' J
2.程序源代码:
( z# r' p6 o3 g; G( N% Q. N+ o#include "time.h"
) p6 i  D4 p3 j$ V; Y#include "stdlib.h"
6 |8 @3 ~$ z9 f, A6 m* U#include "stdio.h" " |+ @% s; A3 m% [+ Q
main() 3 x  M/ y- I" N6 X" ^  R4 P
{char c; ) Z+ m" Y& I: m- O
clock_t start,end;
+ ]  v# J# s! |0 P3 w# Ntime_t a,b;
+ {1 U$ r( L  x8 u+ Y- \$ rdouble var; 7 T# c; Y9 O; L; I! i
int i,guess; 7 N# f" }5 r2 P/ t) \
srand(time(NULL));
; q  \' v8 |) aprintf("do you want to play it.('y' or 'n') \n");
/ s) R/ m6 b" d' sloop: 7 a6 Q- O) m: V; l+ K- ?
while((c=getchar())=='y')
3 g2 y7 r0 o1 y. f{
8 x( }+ @5 G/ {# Wi=rand() 0; 9 E4 E8 Z* @( }1 @: K" z/ O
printf("\nplease input number you guess:\n");
& v; X( U. s+ d& V0 Astart=clock();
# d- x! Z2 P/ z  i( \a=time(NULL); 8 X# {2 E+ o; @4 Z2 N3 z8 ]
scanf("%d",&guess); ; _) V& w- ^1 O/ k3 @" w# k
while(guess!=i)
4 ?+ B- V: R% w) ~( d* d1 P{if(guess>i)
+ T4 P) b! ~7 D9 N' S3 I{printf("please input a little smaller.\n");
* E& L! N  k# w7 Q9 @+ Oscanf("%d",&guess);}
% R, I: Q! z. nelse
6 w: N$ [  i2 m& z& K$ _" Z5 {8 M{printf("please input a little bigger.\n"); - Q+ V: h* E6 w: j( N0 Q
scanf("%d",&guess);}
4 j9 x8 Y, R: v! m4 A}
' J  q2 K+ G# U! q3 Aend=clock(); + t* u1 J  J1 |8 ?3 C
b=time(NULL);
! w) |8 Y1 \' s- N5 r. y! jprintf("\1: It took you %6.3f seconds\n",var=(double)(end-start)/18.2); 1 P0 N! j4 a5 N) l3 D
printf("\1: it took you %6.3f seconds\n\n",difftime(b,a));
$ \6 A4 n0 G/ d% p' {/ ~1 \$ _if(var<15) 3 U! j3 c- @2 F0 u
printf("\1\1 You are very clever! \1\1\n\n");
  Q; b1 B( w. n* [7 belse if(var<25)
3 u$ \3 ?+ y  D& w% D3 n' M9 J8 Z0 L4 Qprintf("\1\1 you are normal! \1\1\n\n"); ' C4 D% \/ n/ ]
else # c3 D! w, ]0 B+ O
printf("\1\1 you are stupid! \1\1\n\n");
: s* k0 f# w3 C$ F9 c7 z6 fprintf("\1\1 Congradulations \1\1\n\n"); * ~+ o8 P$ v! I4 y- Q; u! r- {
printf("The number you guess is %d",i); 3 O/ t' N9 t6 k3 A
}
8 j9 F" L& W- u" uprintf("\ndo you want to try it again?(\"yy\".or.\"n\")\n");
! b" n# B6 q- d: v3 }% n9 }4 u( ~- `if((c=getch())=='y') 5 ~- \/ H! Z- a
goto loop; ( t" d4 m9 ^) `, U) R
}
% S& I& W- f3 z9 u$ l3 L7 R
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-10 23:32 , Processed in 0.048648 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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