任务:编程先由计算机“想”一个1~100之间的数请人猜,游戏者开始猜每一个数时有基本积分100分,猜错一次扣10分。如果人猜对了,在屏幕上输出人猜对此数获得的积分,以此来反映猜数者“猜”的水平,则结束游戏;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,积分已经扣完,则停止本次猜数,然后继续猜下一个数。每次运行程序可以反复猜10个数,直到猜完10个数后才结束,游戏最后在屏幕上输出人在猜每个数时得到的相应积分。
我写的代码;
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int a, b, i, flag = 0, j;
char next;
srand(time(0));
while (1) {
a = rand() % 100 + 1;
int count = 100;
do {
scanf("%d", &b);
i++;
count -= 10;
if (i % 2 == 0) {
break;
}
if (b > a) {
printf("Wrong!Too high\n");
} else if (b < a) {
printf("Wrong!Too low\n");
} else {
printf("right!您当前得分为%d\n", count);
flag = 1;
break;
}
} while (a != b && b != -1);
if (flag == 1) {
break;
}
printf("您一共猜了%d次", i);
printf("输入n结束,其他继续");
getchar();
next = getchar();
if (next == 'n') {
int count = 100;
for (j = 0; j < i; j++) {
count -= 10;
printf("当您输入%d时,您的得分为%d\n", i, count);
}
break;
}
}
return 0;
}