猜数字游戏编程c语言怎么加循环(c语言猜数字小游戏代码)

http://www.itjxue.com  2023-03-03 14:43  来源:未知  点击次数: 

c语言,编写一个猜数字游戏

源码如下:

/*?File:?guess.c?*/

#include?stdio.h??/*?standard?input??output?support?*/

#include?stdlib.h?/*?srand()?rand()?*/

#include?time.h???/*?time()?*/

/*?宏定义?*/

#define?NUMBER_LENGTH???5???/*?随机数长度?*/

#define?NUMBER_LIMIT????10??/*?随机数限制,?每一位0-9?*/

#define?INPUT_LENTH?????128?/*?输入缓冲区大小?*/

char?goal[NUMBER_LENGTH]????=?{0};??/*?保存随机数?*/

char?flag[NUMBER_LIMIT]?????=?{0};??/*?保存随机数标志,?保证不重复?*/

char?input[INPUT_LENTH]?????=?{0};??/*?保存输入?*/

/*?初始化用于保存数据的数组?*/

void?initData()

{

int?i?=?0;

while?(i??NUMBER_LENGTH)

goal[i++]?=?0;

i?=?0;

while?(i??NUMBER_LIMIT)

{

flag[i++]?=?0;

}

}

/*?初始化用于保存缓冲区的数组?*/

void?initBuffer()

{

int?i?=?0;

while?(i??INPUT_LENTH)

input[i++]?=?0;

}

/*?显示猜测结果?*/

void?display()

{

int?count?=?0;

int?i?=?0;

while?(i??NUMBER_LENGTH)

{

if?(input[i]?==?goal[i])

{

printf("%c",?'o');

count++;

}

else

{

printf("%c",?'x');

}

i++;

}

printf("\nRIGHT:?%d?bit(s)\n",?count);

if?(count?==?NUMBER_LENGTH)

{

printf("You?win!?The?number?is?%s.\n",?goal);

exit(0);

}

}

/*?生成随机数?*/

void?general()

{

/*?以时间作为时间种子保证生成的随机数真正具有随机性质?*/

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

int?i?=?0;

while?(i??NUMBER_LENGTH)

{

char?tmp;

do

{

tmp?=?'0'?+?((i?!=?0)???(rand()?%?10)?:?(1?+?rand()?%?9));

}?while?(flag[tmp]?!=?0);

flag[tmp]?=?1;

goal[i++]?=?tmp;

}

}

/*?输入方法,用于猜测?*/

void?guess()

{

printf("Please?input?the?number?you?guessed:\n");

scanf("%s",?input);

display();

initBuffer();

}

/*?主函数,程序主框架?*/

int?main?(int?argc,?const?char?*?argv[])

{

initData();

initBuffer();

general();

while?(1)?guess();

return?0;

}

==============================================

运行结果见附图,希望我的回答能够对你有所帮助。

C语言猜数字游戏怎么编程,必须用循环

#include #include //#include unsigned char Num[4] = {0},getNum[4] = {0x20,0x20,0x20,0x20}; void help(void) { char i =0,j = 0; for(i =0;i

C++ 猜数字游戏代码循环,怎样实现猜错了继续猜 直到猜对为止

#include#include/*必须包含该库,因为使用了srand和rand函数*/#include/*必须包含该库,因为使用了time函数*/voidmain(){kaishi:intn;voidgame();printf("\n");printf("************************************\n");printf("欢迎进入猜数字游戏!\n");printf("\n");printf("1.开始游戏\n");printf("2.退出游戏\n");printf("************************************\n");if(scanf("%d",n)n==1)game();elseif(n==2){printf("************************************\n");printf("游戏结束!祝您愉快!\n");printf("\n");printf("再见!\n");printf("\n");printf("************************************\n");}gotokaishi;}voidgame(){inta;intrnd(void);voidnd1();voidnd2();voidnd3();voidnd4();printf("游戏规则:根据提示进行猜数字,直到猜中全部数字为止。\n\n");printf("注意:每个数字都是独立的。即:数字的顺序也必须猜对才算猜中。\n\n");printf("游戏难度分为:1、2、3、4\n\n");printf("请选择游戏的难度\n\n");scanf("%d",a);if(a==1)nd1();elseif(a==2)nd2();elseif(a==3)nd3();elseif(a==4)nd4();}intrnd(void){returnrand()*10/RAND_MAX;/*返回一个100以内的随机数*/}voidnd1(){intA,x,z;srand(time(0));/*用当前时间生成随机数种子*/A=rnd();printf("请输入一个数字\n");scanf("%d",x);for(z=1;1;z++){if((x=0)(x=10)(x=100)(x=1000)(x=9999)){if(A==a)i++;if(B==b)i++;if(C==c)i++;if(D==d)i++;if(i==0){printf("相差太远啦!四个数字没有一个一样呢~\n");i=0;}elseif(i==1){printf("不行哦~才一个数字一样呢~\n");i=0;}elseif(i==2){printf("还不错有两个数字一样了呢~\n");i=0;}elseif(i==3){printf("加油啊!只差一个啦!\n");i=0;}elseif(i==4)break;}elseprintf("输入有误哦~~是四个数字哦\n");scanf("%d",x);a=x/1000;b=x%1000/100;c=x%100/10;d=x%10/1;}printf("\n");if(z==1)printf("神人啊~~1次性猜中~~");elseif(z=10)printf("%d次就猜中。成绩相当不错哦~O(∩_∩)O~",z);elseif(z=16)printf("猜了%d次呢。也算不错哦",z);elseif(z=24)printf("猜了%d次还可以更好哦",z);elseif(z=32)printf("猜了%d次得努力加油呢",z);elseif(z=40)printf("猜了%d次很一般的成绩啊",z);elseprintf("-_-|||不会吧?一个个试都不要%d次诶",z);printf("\n\n\n");}自己写的,曾经花了好几个晚上,就是为了让它人性化一点游戏开始时可以设定难度,难度几就代表猜几个数字百度知道貌似有问题啊,打上来就全粘一起了,你自己把它“分开”一下罗(*^__^*)嘻嘻……望采纳

C语言用循环猜字游戏:使用随机数生成一个三位数作为谜底进行猜字游戏,每次猜的时候给出提示,

#includestdio.h

#includestdlib.h

#includetime.h

int main()

{

int a,b,c=10;

srand(time(NULL));

a=rand()%1000;

printf("系统已经给出了一个0-999的数,请输入一个数。\n");

while(1)

{ c--;

scanf("%d",b);

if(ba)

printf("猜大了,还剩%d次机会,请继续\n",c);

if(ba)

printf("猜小了,还剩%d次机会,请继续\n",c);

if(b==a)

{ printf("恭喜你答对了\n");

printf("系统给的数是:%d",a);

break;}

if(c==0)

{ printf("你已经没有机会了,请重新开始吧!\n");break;}

}

}

C语言题目 编程实现数字猜谜游戏!

一个函数用于生成一个随机数

再用一个函数进行三次循环

如果循环中输入的数字猜对了就返回1如果三次循环结束则返回0

主数字判断返回的结果如果是1则表示猜对否则表示猜错

然后询问是否继续进行猜数字游戏

下面是一个简单的代码

#include?stdio.h

#include?time.h

void?clean_input_buf(void)

{

????while(getchar()?!=?'\n');

}

int?make_num(int?num)

{

????srand(num);

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

}

int?guess_num(void)

{

????int?i=3;

????int?n;

????int?num;

????num=make_num(clock());

????while(i)

????{

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

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

????????if(n?==?num)

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

????????clean_input_buf();

????????--i;

????}

????return?0;

}

int?main(int?argc,char?**argv)

{

????char?c;

????printf("猜数字游戏!\n游戏要猜测的数字为1-20,每个数字可以猜测3次!\n");

????while(1)

????{

????????if(guess_num()?==?1)

????????????printf("恭喜你,你猜中了!\n");

????????else

????????????printf("很遗憾,你猜错了!\n");

redo:

????????printf("还要继续游戏吗?继续输入Y否则输入N!\nY/N:");

????????c=getchar();

????????clean_input_buf();

????????if(c?==?'Y'?||?c?==?'y')

????????????continue;

????????else?if(c?==?'N'?||?c?==?'n')

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

????????else

????????{

????????????printf("输入错误,请重新输入!\n");

????????????goto?redo;

????????}

????}

????return?0;

}

(责任编辑:IT教学网)

更多

推荐微信营销文章