c语言猜数字游戏

# include & ltstdio.h & gt

# 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编译器上试用。