- 在线时间
- 490 小时
- 最后登录
- 2024-2-3
- 注册时间
- 2013-2-28
- 听众数
- 117
- 收听数
- 46
- 能力
- 268 分
- 体力
- 39231 点
- 威望
- 1340 点
- 阅读权限
- 255
- 积分
- 31236
- 相册
- 2
- 日志
- 0
- 记录
- 0
- 帖子
- 1391
- 主题
- 937
- 精华
- 0
- 分享
- 0
- 好友
- 111
升级 0% TA的每日心情 | 衰 2020-10-25 11:55 |
---|
签到天数: 264 天 [LV.8]以坛为家I
- 自我介绍
- 内蒙古大学计算机学院
群组: 2013年数学建模国赛备 |
本帖最后由 wangzheng3056 于 2013-7-30 15:09 编辑
8 d6 F5 b9 }3 n) ?0 w q0 m5 D6 u* J" H% n# c7 M
上一篇:科普之-------随机数rand()的用法
y, @9 @: {2 R# J上一贴我讲述了如何生成伪随机数,今天我们将难度升级,讲述随机数的应用---猜数字游戏的实现(大家自行了解游戏规则)。, O8 M+ w/ q1 F% { q: o
程序的流程是:
$ j6 }5 ^2 z4 O& V- m1.生成一个四位数要求每一位都不同,放在数组的四个元组中
2 {" R2 b, Z+ `; X; x$ |& q$ ^1 P2.要求用户输入四位数8 R. z5 w8 g' W$ p3 ~
3.程序将用户输入的四位数分离,放在数组的四个元组中! a5 z3 d, {4 U8 K5 j+ y
4.将两个数组进行对比,记录对比结果
6 n T4 q" |/ O" l4 B5.输出结果
5 t6 L0 {. x- ^* K; h
猜数字游戏的实现.c
(1.69 KB, 下载次数: 0)
- #include<stdio.h>
}0 X0 G! s2 M7 x - #include<stdlib.h>
' s0 z\" m$ N0 y- z. Y - #include<time.h>) {' H$ P, e6 R\" p$ D; S# X! k5 t, X
- int judge(int *a,int *b)
h% d+ H9 u: f0 }! \ - {
8 {* u% ]2 i/ @ - int i,j;% s8 }' e& P0 T0 c
- int count_A,count_B;
* i1 ]5 [' }\" O; f5 j% O - count_A = count_B = 0; H; b+ E0 |3 ^\" x
- for(i = 0;i<4 ;i++ )4 p/ ~\" X7 R, O% A% L\" i
- { 2 W2 ^( @' M7 B
- if(a[i] == b[i]) count_A++;% D+ @; N9 s; y) h+ P
- }/ f) D4 r# W- K! R& I# q9 p\" z
- 6 Q% u5 T6 T+ S4 `
- if(count_A == 4) {printf("%dA%dB\n",count_A,count_B);return 1;}4 B- T1 e6 C1 `0 w
- for(i = 0; i < 4;i ++): h; R/ M* J. c& f9 M
- { 3 t( I5 [ f) G. @2 l; N
- for(j = 0;j < 4;j ++), b9 n. v; F) I- K) t* |$ j
- {
% J6 _* p0 p3 o0 Z, w8 s- K - if(a[j] == b[i]) {count_B++;j = 4;}, ]3 b$ I( ~- M8 t* |, N\" a# \0 H
- }
' j4 n6 N0 S9 X* c - }
, B2 V, S$ g; r - printf("%dA%dB\n",count_A,count_B);. y6 b& h1 z$ m\" i% C2 C. x
- return 0;
- Q9 ?\" q; S# \8 x3 s7 r. P- C - }
. p4 B) G\" T2 W' \\" [2 K1 d - void main()//c语言版猜数字游戏4 z8 t* L' W3 B
- {
5 {2 O6 q( l# \3 K6 { - int r_num[4];
' Y# p! C. J N - int input_num[4];& j4 |7 {3 S' x- K- |: o8 ]
- srand(time(0));6 \4 ^6 @# h! J
- int j,i = 0,temp1,temp2 = 0;
; `5 d% {\" i. N - /*********************生成四个随机数***********************/
1 ^2 Z$ }8 n/ B' |; i - while(i<4)% t\" t9 N7 k# ?3 B; l
- {
L- e, z1 P+ m' Z+ O2 c6 O* r - if(i == 0) {r_num[i] = rand()%10;i++;}- ]4 z! T% [5 y3 \4 y$ y
- else% U9 s4 z: V) z g8 H
- {; N; _0 f3 J\" e' I7 Y
- temp1 = rand()%10;
8 z) H6 g\" c0 i9 W - for(j=0;j<i;j++); y- i9 c& m: ~6 D0 g. k4 C
- {
m% K4 V: B0 R0 q' t9 L9 U! ?8 S - if(temp1 == r_num[j]) temp2++;
1 E\" E4 M8 d8 |8 ?' a\" J - }
/ b9 @2 c+ l5 Z1 C1 [8 t: u - if(temp2 == 0); k# ^/ U4 u. }\" t' K! b
- {
6 i! G0 r\" j6 y0 q5 J - r_num[i] = temp1;
: |: Y: b: w. n$ f$ u - temp2 = 0;* w\" b4 `1 i7 U2 y w
- i ++;
+ p4 L8 v7 y* P8 \3 E' J - }
, B3 K$ U! r& ] - else$ e& M7 E5 G$ u* j# U9 I
- {
9 s% s6 j# {% u4 f8 ~ - temp2 = 0;( e/ Y0 p/ w+ ~\" o# d1 ^. \3 T1 c
- continue;
. d6 e& e0 P. R; Z - }
% ^% E+ ?# D0 D7 O$ p - }
2 c0 d8 n* `\" a3 S - }
2 Y\" ~+ a& E8 Z, P! _ - for(i = 0;i<4;i++)) X4 |. e: ^# c# L7 H$ r
- printf("%d\n",r_num[i]);
8 r\" O7 p6 d9 U& [; m$ g4 X8 s - /************************猜数字游戏核心部分*********************/
9 t\" I: `+ F& k: }# J$ C8 h: { - for(;;)
; `3 G/ n2 ]0 I: ?. k - {% y# [2 y; ~( N8 `% [! K1 G
- scanf("%d",&j);3 W* P: a/ g% u E
- input_num[0] = j/1000;
\" B* I2 j6 R; r' U - input_num[3] = j%10;
7 `( V* ^, r% q\" y4 F* @% m - input_num[1] = (j - input_num[0]*1000)/100;
: U5 ^: |2 w6 T0 k5 I7 C; |, e& y' ?1 K - input_num[2] = (j - input_num[0]*1000 - input_num[1]*100)/10;\" y) ^) L t8 t. Z! F
- /********这个地方缺一个函数判断输入的四个数是否一样,由大家自己实现********/
8 w# w. M\" R' c - if(judge(input_num,r_num)==1) break;
3 Q: b1 [4 r; z, m* z* y; _: s2 A - else7 A' g$ m- i3 c; Z$ K
- continue;
\" j* D\" \* w5 _. U8 L# S\" m - }
7 {/ L( j' P8 u: X - }
复制代码 |
zan
|