猜数字游戏
程序设计的逻辑思维
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void Guess(const char src[])
{
int i;
int count = 1;//猜次数的次数
int A_num;//猜中的A的个数
int B_num;//猜中的B的个数
char one, two, three, four;//分别表示我们所输入的四个数字
while(1)
{
A_num = B_num = 0;
fflush(stdin);
printf("请输入你第%d次猜测的数字(4位不重复):", count++);
scanf(" %c %c %c %c", &one, &two, &three, &four);
for(i = 0; i < 4; ++i)
{
if(src[i] == one)
{
if(i == 0)
++A_num;
else
++B_num;
}
else if(src[i] == two)
{
if(i == 1)
++A_num;
else
++B_num;
}
else if(src[i] == three)
{
if(i == 2)
++A_num;
else
++B_num;
}
else if(src[i] == four)
{
if(i == 3)
++A_num;
else
++B_num;
}
}
printf("------------------------------------------ ");
if(A_num == 4)
{
printf("恭喜你,全部猜对了! ");
break;
}
else
{
printf("你猜测的结果是:%dA%dB ", A_num, B_num);
}
}
}
int main()
{
char chNum[4];//用于存放系统产生的随机4位数字
int i, index;
srand((unsigned)time(0));//初始化随机种子
index = 0;
//system("color F0");
//使用do...while循环让系统产生一个随机的4位数字
do
{
chNum[index] = rand() % 10 + '0';
//判断一下这个数字是否和前面产生的字符相同
for(i = 0; i < index; ++i)
{
if(chNum[i] == chNum[index])
--index;
}
++index;
}while(index < 4);
Guess(chNum);
return 0;
}
网友评论