c语言猜数字猜四个数字
更新时间:2024-01-18前言
在这个项目中,我将使用C语言设计一个猜数字游戏,玩家需要猜测四个数字的正确顺序和值。我将使用C语言编写代码,并为您解释代码的用途和规范。
代码设计
首先,我们需要一个函数来生成四个不重复的随机数字作为答案。下面是生成随机数字的代码:
#include#include #include // 生成四个不重复的随机数字 void generateAnswer(int answer[]) { srand(time(NULL)); for (int i = 0; i < 4; i++) { int digit = rand() % 10; int j; for (j = 0; j < i; j++) { if (digit == answer[j]) { break; } } if (j == i) { answer[i] = digit; } else { i--; } } }
接下来,我们需要一个函数来接收用户输入的猜测,并判断其准确性。以下是判断猜测准确性的代码:
// 判断猜测准确性 int checkGuess(int guess[], int answer[]) { int correctPositionCount = 0; // 正确位置的数字数量 int correctValueCount = 0; // 正确数字的数量 for (int i = 0; i < 4; i++) { if (guess[i] == answer[i]) { correctPositionCount++; } else { for (int j = 0; j < 4; j++) { if (guess[i] == answer[j]) { correctValueCount++; break; } } } } printf("正确位置的数字数量:%d\n", correctPositionCount); printf("正确数字的数量:%d\n", correctValueCount); if (correctPositionCount == 4) { return 1; // 猜测完全正确 } else { return 0; // 猜测不完全正确 } }
最后,我们需要一个主函数来驱动游戏的运行流程。以下是主函数的代码:
int main() { int answer[4]; // 存储答案的数组 int guess[4]; // 存储用户猜测的数组 // 生成答案 generateAnswer(answer); // 游戏循环,直到猜测完全正确 while (1) { // 提示用户输入四个数字的猜测 printf("请猜测四个数字的正确顺序和值(用空格分隔):"); scanf("%d %d %d %d", &guess[0], &guess[1], &guess[2], &guess[3]); // 判断猜测准确性 if (checkGuess(guess, answer)) { printf("恭喜,猜测正确!\n"); break; } else { printf("猜测不正确,请继续尝试。\n"); } } return 0; }
总结
在这个项目中,我使用C语言设计了一个猜数字的游戏。通过生成随机数字作为答案,并判断用户猜测的准确性,来驱动游戏的进行。代码具备良好的可读性和可维护性,使用了函数来组织代码逻辑,同时使用了数组来存储数据。希望这个简单的示例能帮助您理解C语言的基本用法和编程规范。