如何用c语言设置4位不重复数的猜数字游戏,并且显示猜测次数和限制猜测次数
时间: 2024-05-13 14:17:39 浏览: 208
以下是一个实现猜数字游戏的示例程序。该程序使用了rand()函数来生成一个4位不重复的随机数,并要求用户在10次内猜出该数字。每次猜测后,程序会显示猜测次数和剩余次数。如果用户猜中了数字,程序会显示“Congratulations!”并结束游戏。
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int secret[4], guess[4];
int i, j, count = 0;
int remain = 10;
srand(time(NULL)); // 初始化随机种子
// 生成随机数
do {
for (i = 0; i < 4; i++) {
secret[i] = rand() % 10;
for (j = 0; j < i; j++) {
if (secret[j] == secret[i]) {
break;
}
}
if (j < i) {
break;
}
}
} while (i < 4);
printf("Welcome to the guess number game!\n");
printf("You have 10 chances to guess a 4-digit number.\n");
// 开始游戏
do {
printf("Remaining chances: %d\n", remain);
printf("Please input your guess (4 digits): ");
scanf("%1d%1d%1d%1d", &guess[0], &guess[1], &guess[2], &guess[3]);
count++;
remain--;
// 检查猜测结果
int A = 0, B = 0;
for (i = 0; i < 4; i++) {
if (guess[i] == secret[i]) {
A++;
}
for (j = 0; j < 4; j++) {
if (guess[i] == secret[j] && i != j) {
B++;
}
}
}
if (A == 4) {
printf("Congratulations! You guessed the number in %d times.\n", count);
break;
} else {
printf("%dA%dB\n", A, B);
}
} while (remain > 0);
if (remain == 0) {
printf("Game over. The answer is %d%d%d%d.\n", secret[0], secret[1], secret[2], secret[3]);
}
return 0;
}
```
注意:本程序只是一个简单的示例,实际应用中可能需要更复杂的判断逻辑和错误处理。
阅读全文