91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

如何使用C語言實現珠璣妙算小游戲

小億
101
2023-07-28 23:42:45
欄目: 編程語言

珠璣妙算是一種猜數字的游戲,玩家需要猜出由電腦隨機生成的一個數字序列。下面是使用 C 語言實現珠璣妙算小游戲的基本步驟:

  1. 導入所需的頭文件:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <stdbool.h>
  1. 定義全局常量:
#define DIGITS 4
#define MAX_GUESSES 10
  1. 編寫生成隨機數字的函數:
void generateRandomNumber(int *number) {
srand(time(NULL));
for (int i = 0; i < DIGITS; i++) {
number[i] = rand() % 10;
}
}
  1. 編寫比較數字序列的函數,判斷玩家猜測的數字與答案的匹配情況:
void compareNumbers(int *guess, int *answer, int *correct, int *misplaced) {
*correct = 0;
*misplaced = 0;
bool answerUsed[DIGITS] = { false };
bool guessUsed[DIGITS] = { false };
// 檢查位置正確的數字
for (int i = 0; i < DIGITS; i++) {
if (guess[i] == answer[i]) {
(*correct)++;
guessUsed[i] = true;
answerUsed[i] = true;
}
}
// 檢查位置不正確但數字正確的數字
for (int i = 0; i < DIGITS; i++) {
if (!guessUsed[i]) {
for (int j = 0; j < DIGITS; j++) {
if (!answerUsed[j] && guess[i] == answer[j]) {
(*misplaced)++;
guessUsed[i] = true;
answerUsed[j] = true;
break;
}
}
}
}
}
  1. 編寫主函數,實現游戲的邏輯:
int main() {
int answer[DIGITS];
int guess[DIGITS];
int correct;
int misplaced;
// 生成隨機數字序列
generateRandomNumber(answer);
printf("Welcome to Zhuji Miao Suan!\n");
printf("Try to guess a %d-digit number within %d tries.\n", DIGITS, MAX_GUESSES);
// 游戲循環
for (int i = 0; i < MAX_GUESSES; i++) {
printf("Guess #%d: ", i + 1);
scanf("%1d%1d%1d%1d", &guess[0], &guess[1], &guess[2], &guess[3]);
// 比較數字序列
compareNumbers(guess, answer, &correct, &misplaced);
printf("Correct: %d, Misplaced: %d\n", correct, misplaced);
// 判斷是否猜中
if (correct == DIGITS) {
printf("Congratulations! You guessed the number correctly!\n");
return 0;
}
}
printf("Sorry, you ran out of guesses. The correct number was: %d%d%d%d\n", answer[0], answer[1], answer[2], answer[3]);
return 0;
}

以上就是使用 C 語言實現珠璣妙算小游戲的基本步驟。通過運行主函數,玩家可以開始猜數字并得到反饋,直到猜中正確的數字或猜測次數用盡。

0
塘沽区| 章丘市| 东乡| 荣成市| 阜康市| 偃师市| 新野县| 龙游县| 涞水县| 龙川县| 湖南省| 道真| 岳池县| 友谊县| 惠东县| 神木县| 鹰潭市| 新蔡县| 普安县| 西宁市| 澜沧| 和顺县| 汪清县| 阳原县| 崇义县| 镇赉县| 上林县| 庆安县| 岳普湖县| 镇原县| 平南县| 绍兴县| 华亭县| 佛冈县| 昌图县| 象州县| 吐鲁番市| 淮南市| 双峰县| 土默特右旗| 瑞昌市|