|
|
近来学了C++,所以应用所学编了一个猜字游戏,代码不是很规范,请见谅,希望大家多提提意见~
以下是源代码:
===============================
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
#define N 4
int e=0,f=0,a,b=0,temp,num[N];
//e输出完全正确的数,f输出位置不同的正确数,temp用户输入数值,num[]产生(1~9)之间的数
void rex()
{
if(num==temp)
{
e++;
}
if(num!=temp)
{
for(a=0;a<N;a++)
{
if(num[a]==temp)
{
f++;
break;
}
}
}
}
void main()
{
int x;//输入次数
char gex='Y';//是否继续
while(gex=='y'||gex=='Y')
{
srand((unsigned)time(NULL));
for(a=0;a<N;a++)
{
num[a]=rand()%10;
if(num[a]==0)
{
num[a]+=1;
}
}
printf("\t\tVC猜数字游戏\n");
printf("\n\t\t用户需知!\n\n");
printf("\t1.当位置与数值都正确,以xA表示\n\t2.当数值正确,数字位置不正确,以xB表示");
printf("\n\t3.猜3次未猜中游戏结束!\n\t4.输入的数必须在1~9之间!\n");
printf("\t5.输入数字以外的字符,将直接退出!\n");
for(x=0;x<3;x++)
{
e=0;
f=0;
printf("\n\t请输入(1~~9)4个数(空格隔开):");
for(b=0;b<N;b++)
{
scanf("%d",&temp);
if(temp>=10||temp==0)
{
printf("输入错误,请重新输入!");
b=b-1;
continue;
}
rex();
}
if(e==4)
{
break;
}
printf("\n\t系统提示:%dA %dB\n\n",e,f);
}
if(e==4)
{
printf("\n\n\t恭喜过关!");
}
else
{
printf("\n\n\t继续努力吧!\n\t正确的数是:");
for(a=0;a<N;a++)
{
printf("%d ",num[a]);
}
}
printf("\n\n\t是否再来一局?(Y/N): ");
fflush(stdin);
scanf("%c",&gex);
}
}
======================================================
|
|