猜数字游戏c语言编程代码200行(猜数字游戏c语言pta)
猜数游戏c语言
#includestdio.h
#includestdlib.h //随机数生成函数srand()与rand() 所需的头文件
#includetime.h //time()所需的头文件
int main()
{
int sysdata;//系统生成的数据
int n; //所猜的数据
int sum = 0;//记录猜的次数
srand((unsigned)time(NULL)); //随机数发生器初始化函数,以时间为种子
sysdata = rand()%100+1; //随机生成1到100的随机数
printf("退出程序请按:ctrl + c!\n");
while(1)
{
printf("请输入你猜的数据(1-100): ");
if(scanf("%d",n) != 1) //用于判断用户是否结束游戏
{
break; //跳出while循环,结束游戏
}
sum++; //每输入一次数据,猜的次数加1
if(sum == 10) // 当猜的次数大于10次的时候重新生成新的随机数
{
if(n == sysdata) //最后一次猜数正确,输出结果,结束游戏
{
printf("猜数正确,总共猜了%d次!\n",sum);
break; //跳出while循环,结束游戏
}
else //最后一次猜数不正确则重新开始游戏
{
printf("猜数次数超过%d次,重新开始游戏!\n",sum);
sysdata = rand()%100+1; //随机生成1到100的随机数
sum = 0;
}
}
else
{
if(n == sysdata)
{
printf("猜数正确,总共猜了%d次!\n",sum);//猜数正确,结束游戏
break; //跳出while循环,结束游戏
}
else if(n sysdata)
{
printf("你猜的数据太大!\n");
}
else
{
printf("你猜的数据太小!\n");
}
}
}
printf("猜数游戏结束!\n");
return 0;
}
测试结果:
退出程序请按:ctrl + c!
请输入你猜的数据(1-100): 50
你猜的数据太小!
请输入你猜的数据(1-100): 75
你猜的数据太小!
请输入你猜的数据(1-100): 85
你猜的数据太大!
请输入你猜的数据(1-100): 80
你猜的数据太小!
请输入你猜的数据(1-100): 82
你猜的数据太小!
请输入你猜的数据(1-100): 84
猜数正确,总共猜了6次!
猜数游戏结束!
Press any key to continue
猜数字游戏C语言编程
#include stdio.h
#include math.h
#include time.h
void main()
{
int magic,guess,k;
char over,c;
printf("退出游戏请输入z\n");
do
{
srand (time(NULL));
magic=rand()%100+1;
printf("请输入猜测的数字1~100\n");
for(k=0;guess!=magic;k++)
{
scanf("%d",guess);
if (guess==magic)printf("恭喜,你猜对了!\n");
scanf("%c",over);
if (over=='z')
{
printf("感谢你的参与!!\n");
exit(0);
}
if(guessmagic)printf("太小了!\n");
if(guessmagic)printf("太大了!\n");
}
printf("你猜了%d次\n",k);
printf("是否继续游戏y/n\n");
scanf("%c",c);
}while(c=='y');
if(c=='n'||c=='z')
{
printf("感谢你的参与!!\n");
exit(0);
}
getch();
}
C语言编写猜数字游戏
#include stdlib.h
#include stdio.h
//#include iostream
unsigned char Num[4] = {0},getNum[4] = {0x20,0x20,0x20,0x20};
void help(void)
{
char i =0,j = 0;
for(i =0;i4;i++)
{
for(j = 0;j4;j++)
if(Num[j] == getNum[i])
{
if(i==j)
printf("%dth is correct!\r\n",i);
else
{
printf("%d is a correct data\r\n",getNum[i]);
}
}
else
{
if(i == 3j==3)
{printf("/********************small game*****************/\
input 4 data gess the random data,input h can get help\
");}
}
}
}
void main( void )
{
int orginal = 0,getdata = 0,i = 0,j = 0;
// { int a;a = 878*101;coutaendl}
//first = 0,second = 0,third = 0,fourth = 0;
/* Seed the random-number generator with GetTickCount so that
the numbers will be different every time we run.
*/
srand( (unsigned)time( NULL ) );
orginal = rand();
Num[3] = orginal%10000/1000;
Num[2] = orginal%1000/100;
Num[1] = orginal%1000%100/10;
Num[0] = orginal%10;
// printf(" %d",orginal);
for(i = 0;i4;)
{
for(j = i+1;j4;j++)
{
if(Num[i]==Num[j])
{ Num[i]++;if(Num[i]9) Num[i] = 0;i=0;break;}
}
if(j == 4)i++;
}
get: for(i = 0;i4;)
{
printf("input Num %d ",i);
scanf("%s",getNum[i]);
if(getNum[i]-0x309||getNum[i]-0x300)
{
if (getNum[i] == 'H'||getNum[i] =='h')
{
help();
}
else
printf("input one num\r\n");
//if(i0)i--;
}
else
{
getNum[i] -=0x30;
for(j = 0;ji;j++)
{
if(getNum[i] == getNum[j])
{printf("have a same data,please input another\r\n"); break;}
}
if(j==i)
i++;
}
}
printf("you input num %d%d%d%d Y or N?\r\n",getNum[0],getNum[1],getNum[2],getNum[3]);
do{
scanf("%c",j);
printf("%c",j);
if((j == 'N') || (j == 'n'))goto get;
}while( !((j == 'Y') || (j == 'y')));
printf("over");
}
猜数字游戏 C语言简单程序代码
#include
#include
#include
#include
int
i,j=1;
int
scores[6];
void
main()
{
char
control='\0';
int
rand1,guess,score;
printf("开始游戏吗
?(y?n)");
control=getchar();
while(control!='y'control!='y'control!='n'control!='n')//屏蔽其他按键
{
printf("无效字符!开始游戏吗
?(y?n)");
fflush(stdin);
control=getchar();
printf("%c",control);
}
while((control=='y')||(control=='y'))
{
system("cls");
srand((unsigned)time(null));
rand1=rand()%10+1;
//printf("%d",rand1);
for(i=0;i20;i++)
{
printf("请输入你猜的数:");
scanf("%d",guess);
if(guessrand1)printf("大啦!\n");
else
if(guess
:猜对了\a\n");//响铃\a
break;
}
i++;
}
i+=1;
if(i==1)
{
score=100;
scores[0]++;
}
else
if(i=2i=3)
{
score=90;
scores[1]++;
}
else
if(i=4i=6)
{
score=80;
scores[2]++;
}
else
if(i=7i=10)
{
score=70;
scores[3]++;
}
else
if(i=11i=15)
{
score=60;
scores[4]++;
}
else
{
score=0;
scores[5]++;
}
printf("第%d次得分是:%d\n",j,score);
scores[7]+=score;
j++;
printf("是否继续(y?n)\n");
fflush(stdin);//请输入缓冲区
control=getchar();
while(control!='y'control!='y'control!='n'control!='n')
{
printf("无效字符!只能按y或y,n或n是否继续(y?n)\n");
fflush(stdin);
control=getchar();
printf("%c",control);
}
}
system("cls");//清屏
printf("+++++++++++++++-----------------以下是得分情况:---------------*************\n");
for(i=0;i5;i++)
{
printf("+++++++++++++++------------------得%d分%d次:------------------*************\n",10*(10-i),scores[i]);
}
printf("+++++++++++++++------------------得%d分%d次:------------------*************\n",
0,scores[5]);
}
C语言中猜数字的代码
再定义两个变量,在游戏说明后面套个while循环,条件你想要退出输入的键例如:(x=='y')继续游戏,否者退出!至于统计次数在选者外套用一个for循环语句,在答对的情况下i 自增最后输出i的值就可以了!