机械必威体育网址

 找回密码
 注册会员

QQ登录

只需一步,快速开始

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

C语言算法经典87-94

[复制链接]
跳转到指定楼层
1#
发表于 2017-10-12 10:14:07 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
【程序87: q( _$ n- T* a/ U1 c
题目:回答结果(结构体变量传递)
+ ?; W) {, U  N3 s/ t1.程序分析:
2 X9 o7 X: U; C5 Z) S9 `1 |2.程序源代码: ! i1 v0 i9 y. M6 i
#include "stdio.h"
+ M9 F" _# Y0 ?2 n6 w  tstruct student : ]7 n5 p7 e; O8 N, Y$ @
{ int x; " @% L6 i: O( y0 p7 C0 u7 a- ]
char c; ) U/ ^: p# I+ o  U
} a; ; Q% e( R% g/ Z% S' q$ h- f
main() & Z+ q9 m% ~: k+ e1 e
{a.x=3; 2 A* |: H% p) N. ~1 S% q' k
a.c='a'; / Q- W2 d" l8 o. Y0 M* v! Q& E
f(a);
# K1 c$ |% Q* E6 ]! Fprintf("%d,%c",a.x,a.c);
9 p$ W3 k# {  P} . u" M# K0 y, U  B* E6 m
f(struct student b) ! ]3 J" c9 M5 p) h% S
{
) C6 |3 {4 T$ \) x8 q! F9 {+ j4 db.x=20;
0 E( Z8 ?. |4 G! v8 sb.c='y';
. R, i' `5 k- Z  ]- s}
; D& K: ^& O: L5 z% z==============================================================
# {/ V5 q& U& c, p' G, d【程序88嵌入式信盈达企鹅要妖气呜呜吧久零纪要 " S& Q" G( }% v5 V: _
题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。
0 L9 O, A! t3 V1.程序分析:
9 k: e2 Q6 ^: ~4 V2.程序源代码:
7 H( {; J7 _# G2 f1 Pmain() # C, T% @4 T& Q/ c& U  V6 M: [5 b
{int i,a,n=1; % x) R& H6 u% J5 w- T9 I- o
while(n<=7)
1 `7 p: B6 \! ]) E- u2 R2 N4 |{ do { . j1 l& \0 G* F# W/ T5 ^& {; [
scanf("%d",&a); 6 M# z# S3 Z7 d% f, f, F
}while(a<1||a>50);
$ h9 H! e; d4 {0 w$ dfor(i=1;i<=a;i++) 6 `) k2 v( _9 X3 b0 n1 G
printf("*");
8 `$ R. J$ O0 f! iprintf("\n");
. K1 ^, {3 P+ rn++;} $ R$ A8 O  ?1 t$ J& u
getch(); . b: y: D. x/ g8 Y( Z; B# f; U
} : \7 E# h) d: Y! ]' K7 S
==============================================================
; p+ Z8 f7 N5 T8 n% C【程序89
' Z, c/ ~( a% \6 e5 c8 U9 S! K题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:
* A% ?' {; [9 H9 m8 k, Z( _3 a3 o: Q, e每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
0 o1 j+ S4 K  d, \1.程序分析: " S# |1 S# O. K+ y7 P: Y
2.程序源代码:
, T2 y3 P* t  t" T: ^5 i4 Mmain()
. a6 _3 U( _6 J6 I$ |. I{int a,i,aa[4],t; " a; M9 v- f+ e6 o% U5 t8 {8 z
scanf("%d",&a);
8 P$ p% k, j3 s% Gaa[0]=a ;
8 [  l3 B) Y7 `1 U; v: baa[1]=a 0/10; 2 I  O+ R/ o1 `0 R) O
aa[2]=a 00/100;
# @3 R( V  {2 f( i3 U7 M: e& E* Raa[3]=a/1000; . e* h5 y# \. d
for(i=0;i<=3;i++) ! s8 ]) T2 S! r% U8 t+ e
{aa+=5; 3 D: V3 H3 }9 g
aa%=10; 9 m! K! m% |! O" I% B( c/ s) x- U
}
$ t7 u* a( V. h: cfor(i=0;i<=3/2;i++) ' W1 K# [2 \- r  v& M/ R6 w- `
{t=aa;
0 X8 J5 d0 ]  j/ G& b- _# `) ], T$ Jaa=aa[3-i]; 5 G8 b7 `# ]) g9 r; I; u" {
aa[3-i]=t; 0 q/ J5 q3 g4 ~5 n, e+ |) z1 D
}
" i% l- H) Z+ t9 \! O- I$ F1 Pfor(i=3;i>=0;i--)
$ I1 y3 y( g3 L9 M" V5 |+ Dprintf("%d",aa);
  m6 j" R( F6 P9 z1 \+ P, [} * v7 \. P, d$ K' H. O$ l+ ^
============================================================== ) W5 \! v1 B2 X2 G! |' w% ^/ L
【程序908 R# L8 u5 ~' J# V0 r
题目:专升本一题,读结果。 1 D& ^; i" u& `" a% }9 u3 a3 D
1.程序分析:
* _- |' O: a  A; T6 B2.程序源代码:   S3 a8 A4 b  K4 b1 ~6 H
#include "stdio.h" . B4 j; M, ^+ Q1 u
#define M 5 ) V! k) f% O* b- A2 g) \
main() 6 ^7 g6 P" w0 [  v1 a# c" q8 W( Y
{int a[M]={1,2,3,4,5};
( X+ u- @% H/ k6 m7 }$ F" G" }: A, uint i,j,t; ! H3 ]7 ]% H  l
i=0;j=M-1;
" I' U% a( S& [7 g8 ~while(i {t=*(a+i);
  V1 C1 u! e; ]) o' d*(a+i)=*(a+j);
6 g1 N4 p& V: U( g*(a+j)=t;
# n% I& [7 w3 \/ u5 z% F( Bi++;j--;
; l; [6 `, l& F9 a0 K& B9 I}
4 W; b7 @- h' J0 _4 h8 d8 c1 Vfor(i=0;i printf("%d",*(a+i)); * a1 D/ g; {- ]/ Y3 h# c& V
} * B1 C, t8 a. m% x1 b+ c
【程序91
& ~9 r4 \" g7 t# ]3 Q; c题目:时间函数举例1
% }8 P, E2 x0 l+ q( p, Z/ K1.程序分析: ) X. E+ Y% v9 w" j0 a# i
2.程序源代码:
6 E4 C8 f: w& [( o0 B! r2 U* b#include "stdio.h" ) U2 p, a, [; |6 K* Q
#include "time.h" - m. {+ S+ H  o3 C) O% i6 q; I3 t! }
void main()
# H9 Z9 c0 b- @% I& }9 y{ time_t lt; /*define a longint time varible*/ , {# w# R  n( G4 ]3 A
lt=time(NULL);/*system time and date*/ . l/ o7 Q" u- O# d' J  T7 x
printf(ctime(<)); /*english format output*/ " @! ?# @( o: e; H' @0 S* ~
printf(asctime(localtime(<)));/*tranfer to tm*/ % ~- D0 s) Z9 A! A6 {: K
printf(asctime(gmtime(<))); /*tranfer to Greenwich time*/
/ `6 W" b9 s) W- S5 K2 O}
& A6 D, {, X- {. f- L6 O1 D============================================================== ' U+ [. G  F/ q
【程序92
! r4 d* l+ h8 Z6 N题目:时间函数举例2 ' m, t! e  N- G8 _3 s
1.程序分析:
9 B0 y9 H1 L- R+ U/ Y" N2.程序源代码: / G  L7 G! K8 \8 b1 u7 e+ N, t4 y
/*calculate time*/ * l$ F' }2 t' r: ~% R/ G
#include "time.h"
6 A  v; D, h* E' v) g#include "stdio.h" 3 l7 P9 l8 h; b% g  o& v4 U
main()
4 |- J9 K$ B5 r{ time_t start,end; 4 D3 W8 T6 Z! h/ g( a
int i; 2 Y7 p$ X* \$ y5 Z) g
start=time(NULL); & T1 `3 P' ]0 j& t/ l+ j
for(i=0;i<3000;i++) ) C& T1 o3 N& R- Y
{ printf("\1\1\1\1\1\1\1\1\1\1\n");} 4 g) T+ _9 K/ [( X
end=time(NULL); ' c& L) N2 |) V) T
printf("\1: The different is %6.3f\n",difftime(end,start)); 8 b6 U& n2 `3 O+ z$ ?- F2 r' C2 D
}
# \- y' Q6 V: g2 S# c============================================================== & c% u0 h% f8 q, G' v5 ~! _
【程序93
" D% N" ?$ M  u, H( n! ?5 A0 B题目:时间函数举例3 % Q0 ]$ p+ c" n1 H' |$ c
1.程序分析:
, K' w) o" H- A) Q0 x2.程序源代码: " A  `& T/ u) w+ b# w6 _/ V) J; E
/*calculate time*/
" y0 p/ ]" F* k#include "time.h"
& k# ^" @" ~' ?" P( d#include "stdio.h"
% s( ^1 s4 x. n5 o3 amain() ( E' J4 M, a9 r( w" o
{ clock_t start,end;
* K% k% v! K! l  [4 }int i;
8 Z1 M9 |* d6 U( Xdouble var;
# C3 R  D/ \) ?# Y5 E# ^9 Vstart=clock();
& |( @" x2 |; M$ o6 N; |' D8 t5 d# gfor(i=0;i<10000;i++) 7 @) [! J7 X; t+ ^% X+ {6 l6 `2 V
{ printf("\1\1\1\1\1\1\1\1\1\1\n");}
7 S* ^6 ~' A" k6 ~. D9 iend=clock();
4 }6 b6 c& Q+ V+ {: E+ T# t# |printf("\1: The different is %6.3f\n",(double)(end-start));
) }0 i: f% x/ m% u2 C}
* q4 l# h' a( z7 ~! h" U. s============================================================== : w  p8 H- c( C& @1 z. _' m
【程序94
2 M- R, j6 Q3 S0 W* A5 x题目:时间函数举例4,一个猜数游戏,判断一个人反应快慢。(版主初学时编的)
$ \8 B/ P/ o6 V! e6 B5 O5 u" |; ^3 |6 T1.程序分析:
% V) H5 r1 [1 R0 Z% f2.程序源代码:
9 G# F" r, L5 v& {/ ?  G#include "time.h"
/ y7 R: c, X- V#include "stdlib.h"
% b( H+ T( c1 [; e; p' s9 A2 t0 s7 S#include "stdio.h"
; I, y9 I. |7 e+ L5 omain()
0 x5 F+ A( g6 X- \$ h7 j" g{char c;
8 I4 ?# O& Z! o; X3 v/ A5 kclock_t start,end; 2 U8 ^- P, W3 `$ n
time_t a,b;
" O2 a! q! P& N3 c) X! Kdouble var;
. H7 t) {+ v- u7 V8 t2 uint i,guess; # X3 q* B' v# H3 y8 m
srand(time(NULL)); : t" _# D1 L. s; J- K
printf("do you want to play it.('y' or 'n') \n");
3 \. e$ i0 o+ }4 @8 [loop:
7 T5 g9 x0 P, E2 O4 w! u* y* lwhile((c=getchar())=='y')
2 \& J/ E  C" E( u; V; b{
  r9 i, x+ ]; e4 K3 \; t0 xi=rand() 0;
" K0 J9 O8 `0 y" b% ]printf("\nplease input number you guess:\n"); ) ]2 V. t+ F. p" k8 W
start=clock();
4 N+ A- c7 d) f9 y& Ta=time(NULL); / S/ i! E/ n# G
scanf("%d",&guess); - G, y+ a7 x& }0 p/ v
while(guess!=i) 1 V# r# O0 k6 [9 P
{if(guess>i) 5 q- e. ]7 p5 \( w$ w* l6 W
{printf("please input a little smaller.\n");
% k' K* \! U1 x0 vscanf("%d",&guess);}
3 T4 d3 F# E0 Felse
1 {: G4 m7 |! r- F$ b9 b{printf("please input a little bigger.\n"); + x  X( A9 [: m8 R$ W  }
scanf("%d",&guess);} 4 ~# J1 G4 A7 H1 n4 G
}
4 l' H+ }/ j5 a+ b5 Nend=clock(); ( R# s4 f" K& E8 ^4 q7 {
b=time(NULL); - P! A$ |4 i' E9 u
printf("\1: It took you %6.3f seconds\n",var=(double)(end-start)/18.2);
5 P' F8 ?& W7 l, z& ]  }: M/ Yprintf("\1: it took you %6.3f seconds\n\n",difftime(b,a));
! M# P; E4 n3 S6 [if(var<15)
* o# c+ P6 O% ~8 cprintf("\1\1 You are very clever! \1\1\n\n"); 3 j/ ^. f2 \$ t5 z) ]% h! U6 e; |
else if(var<25)
: x, u6 t- D' @0 _* A0 F2 Zprintf("\1\1 you are normal! \1\1\n\n");
0 {4 }$ Z. v0 [; j( s- ?, o( J- lelse
4 G8 y/ r  b: i0 D: F8 _2 Aprintf("\1\1 you are stupid! \1\1\n\n");
- G% q0 x- k: ~# a& Sprintf("\1\1 Congradulations \1\1\n\n"); ) y/ A1 Y( z1 l/ L9 R& A$ E
printf("The number you guess is %d",i); " Y8 j7 G. ~; j: X% i1 V  l
} $ g" s4 L9 ?' ^; [$ I5 H
printf("\ndo you want to try it again?(\"yy\".or.\"n\")\n");
6 ~$ ?4 `* @* e! B3 L+ Xif((c=getch())=='y')
; Q3 W3 h: C4 c, S2 c) {, Mgoto loop;
1 B- k7 y8 |) c6 p( h}

0 p4 {, n. h. D, O! _3 H4 J
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-19 06:49 , Processed in 0.074665 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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