话不多说,呈上代码。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void guess_number()
{
int num = 0;
srand(time(NULL));//rand函数生成随机数的种子,以时间作为种子数可以产生变化的随机数
num = rand()%100+1;//生成1-100之间的随机数
printf("游戏开始,请输入要猜的数字\n");
int score = 100;//初始得分为100,每猜一次降10分
while (1)
{
int input = 0;
scanf_s("%d", &input);
if (input < num)
{
printf("猜小了\n");
score = score - 10;
}
else if (input > num)
{
printf("猜大了\n");
score = score - 10;
}
else if(input == num)
{
printf("恭喜你猜对了^_^,您的得分为%d",score);
break;
}
}
}
int main()
{
printf("**************************\n");
printf("******* 1.开始游戏 *****\n");
printf("******* 0.游戏结束 *****\n");
printf("**************************\n");
printf("请输入您的选择1或0\n");
int key = 0;
scanf_s("%d", &key);
if (1 == key)
guess_number();
else
printf("游戏结束,byebye\n");
system("pause");
return 0;
}
python与c++在此游戏上的比较
import random
num=random.randint(1,100)
print('这是一个猜数字游戏,你可以输入1到100之间的数字,但是只有10次机会')
for guesstake in range(1,11):
print('请输入一个数字')
guess=int(input())
if guess < num:
print('你输入的数字太小了')
elif guess > num:
print('你输入的数字太大了')
else:
break
if guess == num:
print('恭喜!你猜对了!你用了'+ str(guesstake) +'次')
else:
print('数字是'+ str(num) +' 继续努力!')
input()
代码比较
首先python的随机数生成调用了random函数库,并且生成的随机数没有记忆性,再一个是python的for循环和C语言不一样,只有初始值和区间。python的输出是print,并且python具有严格的缩进,它的执行就是靠识别不同的缩进程度来分辨语句的分支。