数字游戏.程序产生一个四位随机整数,这个四位数各个数码均不相同,你能猜出这个数是多少吗?,规则如下: 1.如果你猜中一位数字但位置不正确,则显示一个- 2.如果你清中一位数字且位置也正确,则显示一个+ 如:假如原数为1689.你猜的数为3694.则显示一 3.你只有十次机会,努力吧少年? 按任意健开始游戏: 用C语言表达
时间: 2023-06-16 10:03:52 浏览: 186
做一个猜数字的游戏,随机生成1~50之间的数字,然后有10次机会,供用户输入,判断是否猜中(使用for循环)
```
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int answer[4]; // 存储随机数的数组
int guess[4]; // 存储玩家猜测的数组
int i, j, count = 0;
srand(time(NULL)); // 初始化随机数种子
// 生成四个不同的随机数
for (i = 0; i < 4; i++) {
int digit;
do {
digit = rand() % 10;
} while (digit == answer[0] || digit == answer[1] || digit == answer[2] || digit == answer[3]);
answer[i] = digit;
}
printf("数字游戏开始!你有10次机会猜出一个四位不同的整数。\n");
printf("每次猜测输入四个数字,用空格分隔。\n");
// 开始猜测
while (count < 10) {
printf("第%d次猜测:", count + 1);
scanf("%d %d %d %d", &guess[0], &guess[1], &guess[2], &guess[3]);
int rightPosition = 0; // 记录位置正确的数字个数
int wrongPosition = 0; // 记录位置不正确但数字正确的个数
// 检查每个数字的位置和是否正确
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
if (answer[i] == guess[j]) {
if (i == j) {
rightPosition++;
} else {
wrongPosition++;
}
break;
}
}
}
// 根据猜测结果给出提示
if (rightPosition == 4) {
printf("恭喜你猜对了!答案是 %d %d %d %d\n", answer[0], answer[1], answer[2], answer[3]);
break;
} else if (count == 9) {
printf("很遗憾,你没有猜对。答案是 %d %d %d %d\n", answer[0], answer[1], answer[2], answer[3]);
break;
} else {
printf("%dA%dB\n", rightPosition, wrongPosition);
}
count++;
}
return 0;
}
```
阅读全文