69,371
社区成员
发帖
与我相关
我的任务
分享
//请今后要用
int c;
scanf("%c",&c);
//时,都改为
char s[2];
int c;
scanf("%1s",s);
c=s[0];
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int ret;
int i = 0, x, r, get = 0, lost = 0, number;
int t1 = 0, t2 = 0;
char option, go;
do {
//这里加一个
fflush(stdin);
i++;
srand(time(0));
x = rand() % 12 + 1;
printf("=======================================================\n");
printf("Guesses Choice:\n");
printf("O-Odd E-Even L-Low M-Medium H-High N-Number\n");
printf("=======================================================\n");
printf("Enter your choice: ");
scanf("%c", &option);
//这里加一个
fflush(stdin);
//getchar();
printf("Point at risk: ");
ret = scanf("%d", &r);
//如果输入的不是数字,就清除输入流缓冲
if (ret == 0)
{
fflush(stdin);
}
switch (option) {
case 'O':
case 'o':
printf("Odd number\n");
if( (x % 2) == 1) get = r;
else lost = r;
break;
case 'E':
case 'e':
printf("Even number\n");
if( (x % 2) == 0) get = r;
else lost = r;
break;
case 'L':
case 'l':
printf("Low number\n");
if(x <= 4) get = 2 * r;
else lost = r;
break;
case 'M':
case 'm':
printf("Medium number\n");
if(x >= 5 && x <= 8) get = 2 * r;
else lost = r;
break;
case 'H':
case 'h':
printf("High number\n");
if(x >= 9) get = 2 * r;
else lost = r;
break;
case 'N':
case 'n':
printf("A number\n");
printf("Enter your number: \n");
scanf("%d", &number);
if(x == number) get = 12 * r;
else lost = r;
break;
default:
printf("Try again!\n");
}
printf("The winning number is %d.\n", x);
if(get > 0) printf("You won %d points.\n", get);
else printf("You lost %d points.\n", lost);
t1 += get;
t2 += lost;
printf("Continue (Y/N)? \n");
//getchar();
fflush(stdin);
scanf("%c", &go);
} while (go == 'Y' || go == 'y');
printf("Total number of guesses: %d\n", i);
printf("Your current point: %d\n", t1 - t2);
system("pause");
}