java猜数字游戏代码用C语言怎么编啊?谢谢拉

2009年5月 扩充话题大版内专家分月排行榜第三2009年2月 扩充话题大版内专家分月排行榜第三
2009年5月 扩充话题大版内专家分月排行榜第三2009年2月 扩充话题大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。C语言编写 最新出品 猜数字游戏 一次4个数字【c语言吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:553,951贴子:
C语言编写 最新出品 猜数字游戏 一次4个数字收藏
1楼 游戏规则printf("欢迎来到猜数字游戏\n");printf("本游戏由系统给出随机的四个数字且不重复,范围在0-9之间");printf("用户给出四个数字.\n");printf("判定结果,如果结果正确且位置正确则输出A,如果结果正确但位置不正确系统给出B提示,如果位置和数字不正确则输出C。");printf("例:系统给出 1
用户给出4 2 3 5 , 则系统将提示 B A A C \n");
51CTO学院11年行业品牌,1400万用户选择,中国专业IT技能学习平台,c语言.通过在线学习的方式,帮助广大技术人员实现技能提升,高薪就业的职业梦想,c语言.
#include &stdio.h&#include &time.h&#include &stdlib.h&int getRand();
//获取随机数void putRule(); //输出游戏规则void getUserInput(); //获取用户输入void getUserAgainInput();//再次获取用户输入void initSystemNum(); //初始化系统随机数void detection();
//判定胜利条件void initGame();
//初始化游戏bool detectionWin(); //判断是否胜利void gameStart(); //游戏开始void putResult(); //输出结果void putSystemNum();//测试类 输出随机结果int systemNum[4] = {};int userNum[4];char result[5];int main(){gameStart();printf("你太厉害了,恭喜你全部猜对\n");printf("按enter键退出游戏\n");getchar();system("pause");}void gameStart(){initGame();
//输出游戏规则 获取系统随机值 获取游戏玩家输入值detection(); //判断输入的值;int flag=1;while(flag) //如果胜利则跳出{if(detectionWin())putResult();//失败以后 输出结果getUserAgainInput();
//再次获取输入detection();//再次判断}}void initGame(){putRule();initSystemNum();//成功找出四个不同数putSystemNum();getUserInput();}//初始化游戏 初始化游戏int getRand()//生成systemNum数组{
srand(time(NULL));x=rand()%10;}void initSystemNum(){int randN //保存随机数;bool flag=1;systemNum[0]=getRand();//获取第一个数;for(int i = 0 ; i&3 ; i++)//S[0]已知则需要三个随机数;{flag = 1;while(flag){randNum = getRand();for(int g = 0 ;g &= g++ ){if(systemNum[g]==randNum) //如果有一样的就重新随机并对比;if(g==i) { flag=0 ;}
//比较完成后跳出;}}systemNum[i+1]=randN //找到以后就赋值给systemN}}void getUserInput(){printf(" 游戏开始,请输入4个数:");for(int i = 0 ; i&4 ; i++) {scanf("%d",&userNum[i]);} //输入四个数;//获取用户键入值} void getUserAgainInput(){printf("未能通过!请再次输入四个数:");for(int i = 0 ; i&4 ; i++) {scanf("%d",&userNum[i]);} //输入四个数;//获取用户键入值}void putRule(){printf("欢迎来到猜数字游戏\n");printf("本游戏由系统给出随机的四个数字且不重复,范围在0-9之间");printf("用户给出四个数字.\n");printf("判定结果,如果结果正确且位置正确则输出A,如果结果正确但位置不正确系统给出B提示,如果位置和数字不正确则输出C。");printf("例:系统给出 1
用户给出4 2 3 1 , 则系统将提示 B A A B \n");}void detection(){for(int x = 0 ; x & 4 ; x++){for(int y = 0 ; y & 4 ; y++ ){if(userNum[x]==systemNum[y]) {if(x==y) { result[x] = 'A';
}//位置和大小都一样else {result[x] ='B';}//大小一样 位置不同}//如果有相同 判断位置关系else {if(y==3)
result[x] = 'C'; //如果查询完成后没有匹配} // 位置和大小都不同填入C}}}bool detectionWin(){for(int x = 0 ; x & 4 ; x++){if(result[x] =='B'||result[x]=='C')if(x==3)
return 1;//全部判断完成 且没有return}return 0;}void putResult(){
for(int a = 0 ; a & 4 ; a++){printf("%c",result[a]);
}//输出结果printf("\n");}void putSystemNum(){for(int a = 0 ; a & 4 ; a++){printf("%d
", systemNum[a]);}printf("\n");}
基本都有注释呦 过些天放控制台版推箱子, 目前即将完成。
想拿来玩的请将测试的那个类给注释掉,不然会输出答案void putSystemNum();
这是我写的……推箱子出来的时候请@我,我还没写过,到时候参考一下,谢——小尾巴马化腾=麻花疼=菊花疼据说上帝他给你关上门就会给你打开窗没什么大问题就是不知道你家住几楼
码了一天的成果,就这么秒沉了
我也写了一百一十多行
时光IT学院,免费在线直播教学,大牛现场答疑;拒绝纯理论学习,以c/c++/java项目实战为核心.针对c/c++/java零基础学员,快速入门,高薪就业.
我决定了,我要学好c语言,继续考国二。哈哈
过来顶一下
#include&stdio.h&#include&stdlib.h&#include&time.h&#include&string.h&int same(int a[]){
int flag=1;
for(i = 0; i & 4; i++)
for(j = i+1;j & 4; j++)
if(a[i] == a[j])
if(flag == 0)
else return 1;
}int compare(int a[],int b[]){
for(i = 0; i & 4; i++)
for(j = 0; j & 4; j++)
if(a[i]==b[j]&&i==j)
printf(&A&);
if(a[i]==b[j]&&i!=j)
printf(&B&);
if(a[0]==b[0]&&a[1]==b[1]&&a[2]==b[2]&&a[3]==b[3])
printf(&YOu WIN!\n&); }
printf(&\n&);}int init(int a[]){
srand(time(NULL));
a[0]=rand()%9+1;
for(i=1;i&4;i++)
a[i] = rand() % 10;
for(j = 0; j & j++)
if(a[i] == a[j])
}}int main(void){
char buf[20];
printf(&guess number\n&);
printf(&Please enter a four-digit each repetition:&);
gets(buf);
num = atoi(buf);
while(strcmp(buf,&end&) != 0)
if(num & 999&&num & 10000)
b[3] = num % 10;
b[2] = (num / 10) % 10;
b[1] = (num / 100) % 10;
b[0] = (num / 1000) %
n = same(b);
if(n == 0)
printf(&err please input agren\n&);
printf(&Please enter a four-digit each repetition:&);
gets(buf);
num = atoi(buf);
compare(a,b);
printf(&err please input agren\n&);
printf(&Please enter a four-digit each repetition:&);
gets(buf);
num = atoi(buf);
printf(&Please enter a four-digit each repetition:&);
gets(buf);
num = atoi(buf);
if(strcmp(buf,&end&) == 0)
printf(&answer is : &);
for(i = 0; i & 4; i++)
printf(&%d&,a[i]);
printf(&\n&);
return 0;}
厉害呀!绝对厉害!
为什么运行不了呢
登录百度帐号推荐应用

我要回帖

更多关于 60秒三十张图片猜数字 的文章

 

随机推荐