用c语言写一个猜数程序
时间: 2023-11-27 07:03:32 浏览: 38
好的,以下是一个简单的猜数程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
srand(time(NULL)); // 设置随机数种子
int num = rand() % 100 + 1; // 生成 1-100 之间的随机数
int guess;
int count = 0; // 记录猜测的次数
printf("猜数游戏开始!\n");
while (1) {
printf("请输入一个1-100之间的整数:");
scanf("%d", &guess);
count++;
if (guess == num) {
printf("恭喜你猜对了!你一共猜了%d次。\n", count);
break;
} else if (guess < num) {
printf("猜小了,请继续!\n");
} else {
printf("猜大了,请继续!\n");
}
}
return 0;
}
```
程序先生成一个 1-100 的随机数,然后开始循环,让用户输入猜测的数字,每次猜测后都会给出提示,直到猜对为止。程序也记录了用户猜测的次数。
相关问题
一个猜数游戏,用c语言写
### 回答1:
好的,下面是一个简单的猜数游戏的 C 语言代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int number, guess, n = 1;
srand(time(NULL));
number = rand() % 100 + 1;
printf("猜数游戏开始! 请输入一个数字: ");
while (n <= 5) {
scanf("%d", &guess);
if (guess == number) {
printf("恭喜你,猜对了!\n");
break;
} else if (guess < number) {
printf("你猜的数字太小了,请重试: ");
} else {
printf("你猜的数字太大了,请重试: ");
}
n++;
}
if (n > 5) {
printf("很遗憾,你没有在规定次数内猜中数字。正确答案是: %d\n", number);
}
return 0;
}
```
该代码使用 `rand()` 函数生成一个随机数,然后玩家需要在 5 次内猜中这个数字。每次猜测后,程序会告诉玩家猜的数字是太大还是太小。如果在 5 次内猜中,则会告诉玩家猜对了。否则,程序会告诉玩家在 5 次内没有猜中正确数字,并告诉他正确答案是多少。
### 回答2:
猜数游戏是一种非常有趣的游戏,可以用C语言来实现。以下是一个简单的猜数游戏的C语言程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int correctNum, playerGuess, numAttempts = 0;
// 使用当前时间作为随机数种子
srand(time(0));
// 随机生成一个1到100的整数作为正确答案
correctNum = rand() % 100 + 1;
printf("欢迎参加猜数游戏!\n");
while (1) {
printf("请输入你的猜测(1到100之间的整数):");
scanf("%d", &playerGuess);
numAttempts++; // 猜测次数加1
// 比较玩家猜测的数与正确答案
if (playerGuess < correctNum) {
printf("你猜的数太小了!\n");
} else if (playerGuess > correctNum) {
printf("你猜的数太大了!\n");
} else {
printf("恭喜你猜对了!正确答案是%d\n", correctNum);
printf("你总共猜测了%d次。\n", numAttempts);
break;
}
}
return 0;
}
```
这个程序中,首先使用`srand(time(0))`语句设置随机数种子,确保每次运行程序时都能得到不同的随机数序列。
然后,生成一个1到100之间的随机数作为正确答案。玩家通过不断输入猜测的数来猜测正确的答案。
程序中使用了一个`while`循环来不断接收玩家的输入。根据玩家的猜测与正确答案的大小关系,程序会给出相应的提示,直到玩家猜对了答案时循环结束。
在循环中,使用`numAttempts`变量来记录玩家的猜测次数。当玩家猜对了答案时,程序会输出猜测次数以及正确答案,并结束游戏。
这是一个简单的猜数游戏程序,可以通过编译运行来体验游戏的乐趣。
### 回答3:
猜数游戏通常是一种简单而令人愉快的游戏,可以通过编写一个简单的C程序来实现。下面是一个使用C语言编写的猜数游戏的示例代码:
```c
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){
int randomNum, guess, attempts = 0;
// 使用当前时间作为随机数种子
srand(time(0));
// 生成一个1到100的随机数
randomNum = rand() % 100 + 1;
printf("欢迎来到猜数游戏!\n");
printf("我已经生成了一个1到100之间的随机数,你需要猜出它是多少。\n");
do {
printf("请输入你的猜测:");
scanf("%d", &guess);
attempts++;
if(guess > randomNum){
printf("猜的太大了!请继续尝试。\n");
} else if(guess < randomNum){
printf("猜的太小了!请继续尝试。\n");
} else {
printf("恭喜你猜对了!\n");
break;
}
printf("你已经尝试了%d次。\n", attempts);
} while(guess != randomNum);
printf("游戏结束!你一共猜了%d次。\n", attempts);
return 0;
}
```
这段代码首先使用`srand(time(0))`来设置随机数种子,以确保每次运行生成的随机数不同。然后使用`rand() % 100 + 1`生成一个1到100之间的随机数。接下来,使用`do-while`循环,玩家需要输入一个猜测,并与随机数进行比较。根据猜测的结果,程序会给出相应的提示。当玩家猜对时,游戏结束,程序会显示玩家猜数的次数。
希望这个简单的猜数游戏示例代码能够帮助你写出自己的代码!
用C语言编写一个猜数游戏,能选择进行人出数计算机猜和计算机出数人猜
下面是一个简单的猜数游戏的 C 语言代码,支持人出数计算机猜和计算机出数人猜两种模式:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 计算机出数,人猜
void computer_guess() {
srand(time(NULL));
int number = rand() % 100 + 1;
printf("I have a number between 1 and 100. Can you guess what it is?\n");
int guess, count = 0;
do {
printf("Enter your guess: ");
scanf("%d", &guess);
count++;
if (guess > number) {
printf("Too high! Try again.\n");
} else if (guess < number) {
printf("Too low! Try again.\n");
}
} while (guess != number);
printf("Congratulations! You guessed the number in %d tries.\n", count);
}
// 人出数,计算机猜
void human_guess() {
printf("Think of a number between 1 and 100, and I'll try to guess it.\n");
int low = 1, high = 100, guess, count = 0;
do {
guess = (low + high) / 2;
printf("Is it %d?\n", guess);
printf("Enter '1' if it is too low, '2' if it is too high, or '3' if it is correct: ");
int response;
scanf("%d", &response);
count++;
if (response == 1) {
low = guess + 1;
} else if (response == 2) {
high = guess - 1;
}
} while (guess != number);
printf("I guessed the number in %d tries.\n", count);
}
int main() {
printf("Welcome to the number guessing game!\n");
printf("Enter '1' for computer out and human guess, or '2' for human out and computer guess: ");
int mode;
scanf("%d", &mode);
if (mode == 1) {
computer_guess();
} else if (mode == 2) {
human_guess();
} else {
printf("Invalid mode.\n");
}
return 0;
}
```
在这个程序中,`computer_guess` 函数实现了计算机出数,人猜的游戏模式,而 `human_guess` 函数实现了人出数,计算机猜的游戏模式。在 `main` 函数中,我们首先让用户选择游戏模式,然后根据选择调用相应的函数。在计算机出数,人猜的游戏模式中,我们使用 `rand` 函数生成一个随机数作为计算机所出的数,然后使用一个循环让用户猜测这个数。在人出数,计算机猜的游戏模式中,我们使用二分查找算法让计算机猜测用户所出的数,并根据用户的反馈调整猜测的范围,直到猜中为止。