c语言猜数字游戏
# include & ltstdlib.h & gt
# include & ltconio.h & gt
# include & ltstring.h & gt
# include & lttime.h & gt
void c_input(char *str)
{
int i,j;
输入:for(I = 0;我& lt4;i++)
{
str[I]= getch();
putchar(str[I]);
}
putchar(' \ n ');
for(I = 0;我& lt4;i++)
{
if(str[I]& lt;0 ' | | str[I]& gt;'9')
{
Printf("输入无效,请重新输入:");
转到输入;
}
for(j = 0;j & lt我;j++)
{
if(str[i]==str[j])
{
Printf("输入无效,请重新输入:");
转到输入;
}
}
}
}
void c_game(常量字符*温度)
{
int i,j,ci;
char in[4];
char out[5]= " 0A0B ";
for(ci = 0;ci & lt8;ci++)
{
Printf("输入%d:",ci+1);
c_input(输入);
for(I = 0;我& lt4;i++)
{
if(in[i]==temp[i])
{
out[0]++;
}
其他
{
for(j = 0;j & lt4;j++)
{
if(in[i]==temp[j])
{
out[2]++;
}
}
}
}
printf("%s\n ",out);
if(strcmp(out," 4A0B")==0)
{
Printf("游戏成功,按任意键返回主菜单。。");
getch();
返回;
}
out[0]= ' 0 ';
out[2]= ' 0 ';
}
Printf("游戏失败,按任意键返回主菜单。。");
getch();
}
void c_rand()
{
int i,j;
char data[]= " 0123456789 ";
char temp[4];
系统(“cls”);
Printf("**随机模式* * \ n \ n ");
for(I = 0;我& lt4;i++)
{
j = rand()%(10-I);
temp[I]= data[j];
data[j]= data[10-I-1];
}
c _ game(temp);
}
void c_printf()
{
char temp[4];
系统(“cls”);
Printf("**用户输入模式* * \ n \ n ");
Printf("请输入测试数据:");
c _ input(temp);
系统(“cls”);
Printf("**用户输入模式* * \ n \ n ");
c _ game(temp);
}
void main()
{
srand(time(NULL));
while(1)
{
系统(“cls”);
Printf("(1)随机生成数据\ n ");
Printf("(2)用户输入数据\ n ");
Printf("(3)退出游戏\ n ");
printf(" choice:");
开关(getch())
{
case ' 1 ':c _ rand();打破;
案例“2”:c _ printf();打破;
案例' 3 ':出口(1);
}
}
}
它是在VC6下编译的,但是因为没有使用C++特性,所以也可以在其他C编译器上试用。