用c语言编写一个猜拳游戏,出的数字是从0到 "猜拳"是民间饭桌上广为流传的家规家训

求帮忙用C语言完成一个猜拳游侠_百度知道
求帮忙用C语言完成一个猜拳游侠
提问者采纳
#include&&string&#include&&stdio&using&namespace&enum(scissors,rock,rag);main(){&&&&int&x,y;&&&&srand(time(0));&&&&y=rand()%3;&&&&printf(&请输入值,0剪刀1石2布&\n&);&&&&scanf(&%d&,&x);&&&&while(x&scissors&|&x&rag)&&&&{&&&&&&&&printf(&输入值能0,1,2\n&);&&&&&&&&scanf(&%d&,&x);&&&&}&&&&switch(y)&&&&{&&&&&&&&case&0:printf(&电脑剪刀\n&);&&&&&&&&case&1:printf(&电脑石\n&);&&&&&&&&case&2:printf(&电脑布\n&);&&&&}&&&&switch(x)&&&&{&&&&&&&&case&0:printf(&剪刀\n&);&&&&&&&&case&1:printf(&石\n&);&&&&&&&&case&2:printf(&布\n&);&&&&}&&&&switch((x-y+3)%3)&&&&{&&&&&&&&case&0:&printf(&平手\n&);&&&&&&&&case&1:&printf(&赢\n&);&&&&&&&&case&2:&printf(&电脑赢\n&);&&&&}}
提问者评价
来自团队:
其他类似问题
要&猜拳游侠&!游戏?应该工智能类吧,算要结合理概率&$9K&做.代码修改自:&xoaxa#include&&stdio.h&#include&&stdlib.h&#include&&time.h&int&main()&{&&&&char&type[][3]&=&{&锤&,&剪&,&布&};&&&&int&computer,&&&&&int&win&=&0,lose&=&0,equal&=&0;&&&&srand((unsigned)time(NULL));&&&&&&&&while(1)&{&&&&&&&&printf(&\n=============================================\n&);&&&&&&&&computer&=&rand()%3;&&&&&&&&printf(&电脑已该啦\n&);&&&&&&&&printf(&1、锤&2、剪&3、布&0、游戏结束\n&);&&&&&&&&printf(&请拳:&);&&&&&&&&scanf(&%d&,&you);&&&&&&&&if(you&==&0)&&&&&&&&&if(you&&&1&||&you&&&3)&{&&&&&&&&&&&&printf(&效重!\n&);&&&&&&&&&&&&&&&&&&&&}&&&&&&&&printf(&\n:《%s》电脑:《%s》\n&,type[you&-&1],type[computer]);&&&&&&&&switch&(--you&-&computer)&{&&&&&&&&&&&&case&0&:{&printf(&平手旗鼓相啊\n&);&++&&}&&&&&&&&&&&&case&-1&:&&&&&&&&&&&&case&2&:{&printf(&赢厉害!\n&);&++&&}&&&&&&&&&&&&default&:{&printf(&输别气馁!\n&);&++&}&&&&&&&&}&&&&}&&&&printf(&赢:%d输:%d平:%d\n&,win,lose,equal);&&&&return&0;}
来自团队:
为您推荐:
其他1条回答
#include&&stdio.h&#include&&stdlib.h&#include&&time.h&int&main()&{ char&type[][5]&=&{&剪刀&,&石&,&布&}; int&computer,& int&win&=&0,lose&=&0,equal&=&0; srand((unsigned)time(NULL)); computer&=&rand()%3&+&1; printf(&电脑已该啦\n&); printf(&1、剪刀&2、石&3、布&0、游戏结束\n&); printf(&请拳:&); while(1)&{
scanf(&%d&,&you);
if(you&==&0)&
if(you&&&1&||&you&&&3)&{
printf(&效重:&);
printf(&\n:《%s》电脑:《%s》\n&,type[you&-&1],type[computer&-&1]);
if(computer&==&1)&{
if(you&==&1)&{&printf(&\n平手旗鼓相啊\n&);&++&}
else&if(you&==&2)&{&printf(&\a赢厉害!\n&);&++ }
else&{&printf(&输别气馁!\n&);&++&}
else&if(computer&==&2)&{
if(you&==&1)&{&printf(&输别气馁!\n&);&++&}
else&if(you&==&2)&{&printf(&平手旗鼓相啊\n&);&++&}
else&{&printf(&\a赢厉害!\n&);&++&}
if(you&==&1)&{&printf(&\a赢厉害!\n&);&++&}
else&if(you&==&2)&{&printf(&输别气馁!\n&);&++&}
else&{&printf(&平手旗鼓相啊\n&);&++&}
printf(&\n&);
computer&=&rand()%3&+&1;
printf(&电脑已该啦\n&);
printf(&1、剪刀&2、石&3、布&0、游戏结束\n&);
printf(&请拳:&); } printf(&赢:%d输:%d平:%d\n&,win,lose,equal); return&0;}
c语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁本人用C语言写了一个猜拳游戏,运行结果如图:求大神解释如何修改才能使使用第二个主函数时结果正常?_百度知道
本人用C语言写了一个猜拳游戏,运行结果如图:求大神解释如何修改才能使使用第二个主函数时结果正常?
本用C语言写猜拳游戏运行结图:求神解释何修改才能使字符型do....while判断语句符合要求(第二主函数).....运用第主函数运行结:运用第二主函数运行结:代码:#include&stdio.h&#include&time.h&&int&User_Choice(){&&&&int&u;&&&&do&&&&{&&&&&&&&printf(&请拳(1-石<img class="word-replace" src="/api/getdecpic?picenc=0ad-剪刀<img class="word-replace" src="/api/getdecpic?picenc=0ad-布):&);&&&&&&&&scanf(&%d&,&u);&&&&&&&&switch(u)&&&&&&&&{&&&&&&&&&&&&case&1:printf(&石!\n&);&&&&&&&&&&&&case&2:printf(&剪刀!\n&);&&&&&&&&&&&&case&3:printf(&布!\n&);&&&&&&&&&&&&default:printf(&输入误请重新输入\n&);&&&&&&&&}&&&&}while(u&1||u&3);&&&&return&u;}&int&Computer_Choice(){&&&&int&c;&&&&srand(time(0));&&&&c=rand()%3+1;&&&&switch(c)&&&&{&&&&&&&&case&1:printf(&电脑石!\n&);&&&&&&&&case&2:printf(&电脑剪刀!\n&);&&&&&&&&case&3:printf(&电脑布!\n&);&&&&}&&&&return&c;}&void&Compare(int&c,&int&u){&&&&if((u==1&&&&c==2)||(u==2&&&&c==3)||(u==3&&&&c==1))&&&&printf(&赢\n&);&&&&if((c==1&&&&u==2)||(c==2&&&&u==3)||(c==3&&&&u==1))&&&&printf(&电脑赢\n&);&&&&if(u==c)&&&&printf(&电脑打平\n&);}&&void&main(){&&&&int&c,u;&&&&int&flag=1;&&&&do&&&&{&&&&&u=User_Choice();&&&&&c=Computer_Choice();&&&&&Compare(c,u);&&&&&printf(&要继续玩(1/0):&);&&&&&scanf(&%d&,&flag);&&&&&if(flag==0)&&&&&}while(flag==1);&&&&printf(&谢谢使用欢迎再玩\n&);}/*void&main(){&&&&int&c,u;&&&&char&&&&&do&&&&{&&&&&u=User_Choice();&&&&&c=Computer_Choice();&&&&&Compare(c,u);&&&&&printf(&要继续玩(y/n):&);&&&&&scanf(&%c&,&ans);&&&&&if((ans==&#39;n&#39;)||(ans==&#39;N&#39;))&&&&&}while((ans==&#39;y&#39;)||(ans==&#39;Y&#39;));&&&&printf(&谢谢使用欢迎再玩\n&);}*/
提问者采纳
楼主请看我修改运行结:#include&stdio.h&#include&time.h&int&User_Choice(){ int&u; do {
printf(&请拳(1-石<img class="word-replace" src="/api/getdecpic?picenc=0ad-剪刀<img class="word-replace" src="/api/getdecpic?picenc=0ad-布):&);
scanf(&%d&,&u);
case&1:printf(&石!\n&);
case&2:printf(&剪刀!\n&);
case&3:printf(&布!\n&);
default:printf(&输入误请重新输入\n&);
} }while(u&1||u&3); return&u;}int&Computer_Choice(){ int&c; srand(time(0)); c=rand()%3+1; switch(c) {
case&1:printf(&电脑石!\n&);
case&2:printf(&电脑剪刀!\n&);
case&3:printf(&电脑布!\n&); } return&c;}void&Compare(int&c,&int&u){ if((u==1&&&&c==2)||(u==2&&&&c==3)||(u==3&&&&c==1)) printf(&赢\n&); if((c==1&&&&u==2)||(c==2&&&&u==3)||(c==3&&&&u==1)) printf(&电脑赢\n&); if(u==c) printf(&电脑打平\n&);}void&main(){ int&c,u; char&&&&& do { &u=User_Choice(); &c=Computer_Choice(); &Compare(c,u); &printf(&要继续玩(y/n):&); &scanf(&%c&,&ans);&//用接受车符 &scanf(&%c&,&ans); //&while(ans==&#39;\n&#39;)&scanf(&%c&,&ans);&//主要用接受车键 &if((ans==&#39;n&#39;)||(ans==&#39;N&#39;))&&&&&&&&&&&& }while((ans==&#39;y&#39;)||(ans==&#39;Y&#39;)); printf(&谢谢使用欢迎再玩\n&);}/*void&main(){ int&c,u; int&flag=1; do { &u=User_Choice(); &c=Computer_Choice(); &Compare(c,u); &printf(&要继续玩(1/0):&); &scanf(&%d&,&flag); &if(flag==0)& }while(flag==1); printf(&谢谢使用欢迎再玩\n&);}楼主看看:C语言scanf函数输入车符问题&&&&&&&用c语言编写输入语句候用scanf函数初者刚用scanf函数输入经遇各种各输入错误重要定要记住scanf函数输入格式scanf函数包含哪些东西输入候必须哪些东西比:scanf(&%c%c%c&)输入候必须连续输入3字符间能任何空格逗号或者车符等scanf(&%c,%c,%c&)输入3字符候间必须用逗号隔&&&&&&&scanf函数用两种输入式%d整数输入式及%c字符输入式&&&&&&&用%d式输入整数输入串数字按车符输入完用%c式输入字符稍微复杂点般说用%c输入字符输完都习惯按车车符问题&&&&&&&【例1】:&&&&&&&scanf(&%c&,&a);&/*输入字符并按车变量a确接收输入字符*/&&&&&&&scanf(&%c&,&b);&/*变量b接收车符其值10或者说ASCII码10*/&&&&&&&【例2】:&&&&&&&&scanf(&%d&,&x);&/*输入串数字并车变量x接收输入整数*/&&&&&&&&scanf(&%d&,&y);&/*变量y接收车符需要用户继续输入数字并车接收整数*/&&&&&&&【例3】:&&&&&&scanf(&%d&,&x);&/*输入串数字并车变量x接收输入整数*/&&&&&&&&scanf(&%c&,&a);&/*变量a接收车符其值10或者说ASCII码10*/&&&&&&&【例4】:&&&&&&&&scanf(&%d&,&x);&/*输入串数字并车变量x接收输入整数*/&&&&&&&&scanf(&%d&,&y);&/*若输入字母数字比输入s并车*/&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/*变量y接收任何字符或数字其值保持原发任何改变*/&&&&&&&&scanf(&%c&,&a);&/*变量a接收步输入字母*/&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/*即变量a存储字符&s&车符*/&&&&&&&【结论】:&&&&&&&&输入完整数或字符面需要输入字符避免输入字符变车符输入字符前加条scanf语句吃掉前面车符用吃掉车符scanf输入用%c式用%d式用%c式吃掉车符车符读进char类型变量用%d式吃掉车符车符并没送进int类型变量异字符输入自清除&&&&&&&&&&*/
提问者评价
完美运行!谢谢!
其他类似问题
为您推荐:
其他4条回答
些行用代码void main(){
u=User_Choice();
c=Computer_Choice();
Compare(c,u);
printf(&要继续玩(y/n):&);
scanf(&%c&,&ans);
if((ans==&#39;n&#39;)||(ans==&#39;N&#39;))
//行注释掉ok
}while((ans==&#39;y&#39;)||(ans==&#39;Y&#39;));
printf(&谢谢使用欢迎再玩&#92;n&);}
if((ans==&#39;n&#39;)||(ans==&#39;N&#39;))&&&&&&&这一行有用啊,当输入为n时跳出循环啊、、、、注释掉了也不行啊、、、你看图
//看看我改过的这个吧,我这里测试通过了#include&&stdio.h&#include&&stdlib.h&//加上这个头文件#include&&string.h&//加上这个头文件#include&&time.h&int&User_Choice(){&&&&int&u;&&&&do&&&&{&&&&&&&&printf(&请出拳(1-石头,2-剪刀,3-布):&);&&&&&&&&scanf(&%d&,&u);&&&&&&&&switch(u)&&&&&&&&{&&&&&&&&&&&&case&1:printf(&你出的是石头!\n&);&&&&&&&&&&&&case&2:printf(&你出的是剪刀!\n&);&&&&&&&&&&&&case&3:printf(&你出的是布!\n&);&&&&&&&&&&&&default:printf(&你的输入有误,请重新输入!\n&);&&&&&&&&}&&&&}while(u&1||u&3);&&&&return&u;}&int&Computer_Choice(){&&&&int&c;&&&&srand(time(0));&&&&c=rand()%3+1;&&&&switch(c)&&&&{&&&&&&&&case&1:printf(&电脑出的是石头!\n&);&&&&&&&&case&2:printf(&电脑出的是剪刀!\n&);&&&&&&&&case&3:printf(&电脑出的是布!\n&);&&&&}&&&&return&c;}&void&Compare(int&c,&int&u){&&&&if((u==1&&&&c==2)||(u==2&&&&c==3)||(u==3&&&&c==1))&&&&printf(&你赢了!\n&);&&&&if((c==1&&&&u==2)||(c==2&&&&u==3)||(c==3&&&&u==1))&&&&printf(&电脑赢了!\n&);&&&&if(u==c)&&&&printf(&你和电脑打平了!\n&);}&/*void&main(){&&&&int&c,u;&&&&int&flag=1;&&&&do&&&&{&&&&&u=User_Choice();&&&&&c=Computer_Choice();&&&&&Compare(c,u);&&&&&printf(&还要继续玩吗?(1/0):&);&&&&&scanf(&%d&,&flag);&&&&&if(flag==0)&&&&&}while(flag==1);&&&&printf(&谢谢使用!欢迎下次再玩!\n&);}*/int&main(){&&&&int&c,u;&&&&char&*//这里有改动&&&&do&&&&{&&&&&u=User_Choice();&&&&&c=Computer_Choice();&&&&&Compare(c,u);&&&&&printf(&还要继续玩吗?(y/n):&);&&&&&//%c改为%s&&&&&scanf(&%s&,ans);&&&&&if(strcmp(ans,&&n&)&==&0&||&strcmp(ans,&&N&)&==&0)&&&&&&&&&&&&}while(strcmp(ans,&&y&)&==&0&||&strcmp(ans,&&Y&)&==&0);&&&&printf(&谢谢使用!欢迎下次再玩!\n&);&&&&return&0;}
strcmp(ans, &#39;n&#39;)
你试试strcmp这个函数吧,字符串比较还是用这个的好
我是问你为什么像我这样不行?
字符后面是有一个&#39;&#47;0&#39;的,你要考虑这个。
主函数的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁用C语言编写按概率生成随机数!已知0-9这十个数出现的概率为0:0.07 1:0.14 2:0.07 3:0.14 4:0.1 5:0.1 6:0.8 7:0.9 8:0.13 9:0.8用C语言编写生成0-9中随机数,只要生成一个即可!一定要用C语言写!
#include #include void main(void){float y[]={0.18,0.00,0.16,0.14,0.04,0.06,0.10,0.10,0.14,0.08};int i,j;float rd_y;srand((unsigned)time(NULL));s=y[0];for(i=0;i s) s = y[i];for (j=0;j
为您推荐:
其他类似问题
扫描下载二维码用C语言编写一个模拟掷骰子游戏-中国学网-中国IT综合门户网站
> 信息中心 >
用C语言编写一个模拟掷骰子游戏
来源:互联网 发表时间: 3:46:39 责任编辑:鲁晓倩字体:
为了帮助网友解决“用C语言编写一个模拟掷骰子游戏”相关的问题,中国学网通过互联网对“用C语言编写一个模拟掷骰子游戏”相关的解决方案进行了整理,用户详细问题包括:<,具体解决方案如下:解决方案1: 实践1:函数编程练习1.掷骰子游戏编写程序模拟掷骰子游戏。已知掷骰子游戏的游戏规则为:每个骰子有6面,这些面包含1、2、3、4、5、6个点,投两枚骰子之后,计算点数之和。如果第一次投的点数和为7或11,则游戏者获胜;如果第一次投的点数和为2、3或12,则游戏者输;如果第一次投的点数和为4、5、6、8、9或10,则将这个和作为游戏者获胜需要掷出的点数,继续投骰子,直到赚到该点数时算是游戏者获胜。如果投掷7次仍未赚到该点数,则游戏者输。【思考题】 将游戏规则改为:计算机想一个数作为一个骰子掷出的点数(在用户输入数据之前不显示该点数),用户从键盘输入一个数作为另一个骰子掷出的点数,再计算两点数之和。其余规则相同,然后请读者重新编写该程序。2.学生成绩统计(一维数组)要求函数参数中包含一维数组。从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能:(1)统计不及格人数并打印不及格学生名单;(2)统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单;(3)以直方图方式统计各分数段的学生人数及所占的百分比。形式如下:分数段 学生人数 图形&60 3(10%) ***60-69 8(…) ********70-79 7(…) ******* 80-89 8(…) ********&=90 4(…) ****实践2:结构体编程练习在屏幕上模拟显示一个数字式时钟按如下方法定义一个时钟结构体类型:struct clock{};typedef struct clock CLOCK;然后,将下列用全局变量编写的时钟模拟显示程序改成用CLOCK结构体变量类型重新编写。已知用全局变量编写的时钟模拟显示程序如下:#include &stdio.h&int hour, minute, /*全局变量定义*//*函数功能:时、分、秒时间的更新函数参数:无函数返回值:无*/void Update(void) {second++;if (second == 60) /*若second值为60,表示已过1分钟,则 minute值加1*/{second = 0;minute++;} if (minute == 60) /*若minute值为60,表示已过1小时,则 hour值加1*/{minute = 0;hour++;}if (hour == 24) /*若hour值为24,则hour的值从0开始计时*/{hour = 0;}}/*函数功能:时、分、秒时间的显示函数参数:无函数返回值:无*/void Display(void) /*用回车符'\r'控制时、分、秒显示的位置*/{printf(&%2d:%2d:%2d\r&, hour, minute, second); }/*函数功能:模拟延迟1秒的时间函数参数:无函数返回值:无*/void Delay(void) {for (t=0; t&; t++){/*循环体为空语句的循环,起延时作用*/}}main(){hour = minute = second = 0; /*hour,minute,second赋初值0*/for (i=0; i&100000; i++) /*利用循环结构,控制时钟运行的时间*/{ Update(); /*时钟更新*/Display(); /*时间显示*/Delay(); /*模拟延时1秒*/} }
4个回答2个回答2个回答1个回答3个回答2个回答2个回答1个回答2个回答1个回答1个回答1个回答1个回答
相关文章:
最新添加资讯
24小时热门资讯
Copyright &#169; 2004- All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号}

我要回帖

更多关于 c语言猜拳游戏 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信