C语言程序设计现代方法 P154 第8题
# define _CRT_SECURE_NO_WARNINGS
# include<stdio.h>
# include<stdlib.h>
# include<stdbool.h>
#include <time.h>
int roll_dice(void);
bool play_game(void);
int main(void){
char cmd;
srand(time(NULL));
do{
if (play_game())
printf("you win!\n");
else
printf("you lost!\n");
printf("play again? ");
scanf("%c", &cmd);
getchar(); /*因为输入y的时候有用换行键,所以用getchar把缓冲区的换行键读取出来,如果不读取程序两次就会读取\n*/
} while (cmd == 'y'||cmd=='Y');
system("pause");
return 0;
}
bool play_game(void){
int k;
k = roll_dice();
if ( k== 1)
return true;
else if (k==0)
return false;
}
int roll_dice(void){
int a, b, k;
a = rand() % 11 + 2;
printf("your roll is :%d\n", a);
printf("your point is : %d\n", a);
if (a == 7 || a == 11){
return 1;
}
else if (a == 2 || a == 3 || a == 12){
return 0;
}
do{
b = rand() % 11 + 2;;
printf("your roll is :%d\n", b);
if (b == 7)
return 0;
else if (b == a)
return 1;
} while (b != a);
}