猜数字1到100游戏编程c语言,最多猜n次(1到100猜数字游戏规则c语

http://www.itjxue.com  2023-03-06 05:24  来源:未知  点击次数: 

求一个猜数字C语言代码,要求如下 计算机生成一个100以内的随机数,玩家来猜 记录猜的次数,最后打

/*

*百度知道越来越水了,这么简单的题就一个回答

*没见过限定头文件数目的。。而且是限定至少。。。。

*/

#includestdio.h

#includetime.h

#includestdlib.h

#includestring.h

int?getrand()

{

????srand(?(unsigned)time(NULL));

????return?rand()%100+1;

}

int?main()

{

????int?i;

????int?j?=?0;

????int?k?=?0;

????printf("请输入你猜的数字:");

????while?(1)

????{

????????scanf("%d",j);

????????if?(j??100?||?j??0)

????????{

????????????printf("输入不合法");

????????????return?-1;

????????}

????????i?=?getrand();

?????????if?(j?!=?i)

????????????k?++;

????????printf("随机出的数字为%d,你猜的数字为%d,你已经猜了%d次\n",i,j,k);

?????????if?(j?==?i)

????????????break;

????}

????printf("恭喜你猜对了,你猜了%d次\n",k+1);

}

c语言小游戏:猜数字?随机一个1-100之间的数,根据数据输入进行提示

//小游戏:猜数字 随机一个1-100之间的数,根据数据输入进行提示

#include stdlib.h

#include time.h

int main(void){

int value=0;

int num=0;

srand((unsigned int) time(NULL));

num=rand()%100+1; //1-100

while(1){

scanf("%d",value);

if(numvalue){

printf("您猜小了\n");

}

else if(numvalue){

printf("您猜大了\n");

}

else if(num=value){

printf("恭喜您猜对了\n");

break;

}

}

return 0;

}

猜数游戏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语言程序设计

这道题不难,只要知道怎样用c语言生成1~100的随机数就很好办了!

附代码如下!

#includestdio.h

#include?stdlib.h

#include?math.h

int?main()

{

index:

?printf("请选择是否进行猜数!\n1:是\t0:否\n");

?int?j;

?scanf("%d",j);

?if(j?==?0)

??return?0;

?int?i,x?=?rand()?%?100?+?1,input;

?for(i?=?0;i?10;i?++)

?{

??printf("请输入猜想的1至100之间的整数:");

??scanf("%d",input);

??if(input?==?x)

??{

???printf("猜想正确!\t你一共猜想了%d次\n",i?+?1);

???goto?index;

??}

??if(input??x)

??{

???if((i?+?1)?=?10)

???{

????printf("\n此次猜想失败!\n");

????goto?index;

???}

???else

????printf("所猜数过小!\t请再猜一次!\n");

??}

??if(input??x)

??{

???if((i?+?1)?=?10)

???{

????printf("\n此次猜想失败!\n");

????goto?index;

???}

???else

????printf("所猜数过大!\t请再猜一次!\n");

??}

?}

}?

为了简化,使用了goto语句。

c语言:猜数字游戏代码

加了得分榜,没写排序,没时间了。自己加一下就OK

#include stdio.h

#include time.h

#include stdlib.h

#include string.h //以上的是要用到的头文件

int score=0;

void SELECT(int);

void Guess(int,int);

void Select();

void letsgo();

void NB(int); //以上的是函数原型

struct PLAYER

{

char name[10];

int plscore;

};

void save()

{ printf("您的得分是%i",score);

PLAYER player;

printf("请输入姓名:");

scanf("%s",player.name);

player.plscore=score;

FILE *fp;

if((fp=fopen("record.txt","ab"))==NULL)

{

printf("不能打开文件!");

exit(0);

}

fwrite(player,sizeof(PLAYER),1,fp);

printf("记录保存完毕!");

fclose(fp);

}

void print()

{

printf("分数榜:");

FILE *fp;

if((fp=fopen("record.txt","rb"))==NULL)

{

printf("不能打开文件!");

exit(0);

}

PLAYER player;

while(fread(player,sizeof(PLAYER),1,fp)==1)

{

printf("\n姓名:%s\n",player.name);

printf("分数:%i\n",player.plscore);

}

fclose(fp);

}

void main()

{

char end;

printf(" \t\t欢迎光临!!\n\t 在这里我将来测试你的运气!\n");

printf(" 请你猜下数字,但机会就只有三次!!\n");

printf("\n 1、开始游戏^__^\n 2、我是倒霉鬼,我不玩\n 3、查看分数榜");

printf(" 请选择1或2\n");

Select();

printf("\n按任意键退出");

fflush(stdin);

end=getchar();

if(score0)

save();

printf("Thanks For Playing \2 886\n");

}

void Select()

{

int s;

static int lihai=0;

fflush(stdin);

scanf("%d",s);

switch(s)

{

case 1:

letsgo();break;

case 2:

printf("唉,你不想玩,我就不逼你咯\n");exit(0);

case 3:print();

break;

default:

lihai++;

if(lihai==3||lihai==5)

{

NB(lihai);

break;

}

printf("你输入的是什么啊!重新输入 1 或 2 \n ");

Select();

}

}

void letsgo()

{

int select;

printf("请你选择猜数字的难度\n ");

printf("1、简单-猜测 0 到 9 的数字\n ");

printf("2、一般-猜测 0 到 99 的数字\n ");

printf("3、困难-猜测 0 到 999 的数字\n ");

printf("请不要乱选!!\n");

scanf("%d",select);

switch(select)

{

case 1:SELECT(10);break;

case 2:SELECT(100);break;

case 3:SELECT(1000);break;

case 4:print();

default:

{

printf("请不要乱选!!\n");

letsgo();

}

}

}

void NB(int l)

{

char a[20];

static int jihui=0;

printf("\n老大!我服了你,%d 次都输入错误。\n",l);

printf("\n可能你在捣乱~~\n");

printf("(如果不想结束,请输入[sorry]中括号内的否则结束游戏)\n");

fflush(stdin);

gets(a);

if (strcmp(a,"sorry")==0||strcmp(a,"SORRY")==0)

{

jihui++;

if(jihui==2)

{

printf("\n死性不改。道歉也没有用了!\n");

goto end;

}

printf("好吧。给你次机会请输入 1 或 2 \n ");

Select();

}

end:

printf("");

}

void SELECT(int n)

{

int num;

srand((unsigned)time(NULL));

num=rand()%n;

if(n==10)

{

n=3;

printf("\n你有 %d 次猜测的机会\n",n);

}

if(n==100)

{

n=5;

printf("\n你有 %d 次猜测的机会\n",n);

}

if(n==1000)

{

n=7;

printf("\n你有 %d 次猜测的机会\n",n);

}

Guess(num,n);

}

void Guess(int num,int n)

{

int search,k,o;

static int i=1;

char ans;

if(n==3)

k=10;

if(n==5)

k=100;

if(n==7)

k=1000;

o=(num-k/1)%k;

if(o0)

o=0;

printf("\n请猜这个数是多少(在%d到%d):",o,(k/5+num)%k);

fflush(stdin);

scanf("%d",search);

if(numsearch)

printf("\n小了\n");

if(numsearch)

printf("\n大了\n");

if(num==search)

{

printf("\n恭喜您了!你在第 %d 次猜对了\n",i);

score+=10;

printf("是否继续y / n:\n");

fflush(stdin);

ans=getchar();

if(ans=='y'||ans=='Y')

{

i=1;

letsgo();

}

}

else

{

i++;

if(i=n)

Guess(num,n);

else

{

printf("\n你的 %d 次机会已经没有了!!,答案是 %d \n",i-1,num);

printf("是否继续y / n:\n");

fflush(stdin);

ans=getchar();

if(ans=='y'||ans=='Y')

{

i=1;

letsgo();

}

}

}

}

满意请采纳。

用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");

}

(责任编辑:IT教学网)

更多

推荐软件水平考试文章