C语言猜数字小游戏
题目:随机生成三个0-20之内的数字,提示用户来猜,只有三个数字全部猜出时程序才结束,统计输出猜到正确答案的次数 。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
/*
随机生成三个0-20之内的数字,提示用户来猜,
只有三个数字全部猜出时程序才结束,统计输出猜到正确答案的次数
*/
int main()
{
srand((unsigned)time(NULL));//保证每次生成的随机数都不一样
int num[3];//定义长度为3的数组来储存需要猜的数字
int n=-1;
int c=0;//猜对的个数
int s=0;//猜的次数
int i=0;
while(i<3)//需要猜三个数字,所以生成三个随机数
{
num[i] = rand()%20+1;//随机生成20以内的数字
for (int j = 0; j < i; )
{
//判断当前生成的随机数是否已经存在,如果存在,则重新生成,直到生成一个新的数字
if (num[i] == num[j])
{
num[i] = rand() % 20 + 1;
continue;
}
j++;
}
i++;
}
//开始猜数字
while (1)
{
//每猜一次,s就加1
printf("请猜第%d个数:",c+1);
scanf_s("%d", &n);
s++;
//判断猜的数字有没有在数组中,如果在,代表猜对了
for (int j = 0; j < 3; j++)
{
if (num[j] == n)
{
printf("恭喜你,猜对了一个数。\n");
c++;
}
}
if (c == 3)//当全部猜对时,程序结束
{
printf("恭喜你,全部猜对了,正确的数字为:");
for (int i = 0; i < 3; i++)
{
printf("%d\t", num[i]);
}
printf("\n你猜的次数为:%d\n", s);
break;
}
}
}
运行截图:![在这里插入图片描述](https://img-blog.csdnimg.cn/a50ec766ed6c44528ec37f4566563a8a.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAdG9Nb250YWlu,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)