黑马程序员技术交流社区
标题:
石头剪刀布老师是用if做的,我是用switch做出来的,求大家...
[打印本页]
作者:
649678291
时间:
2015-5-20 23:06
标题:
石头剪刀布老师是用if做的,我是用switch做出来的,求大家...
#include <stdio.h>
#include <stdlib.h>
int main(){
// 先定义玩家和电脑的变量
// 先把电脑的出拳随机出来
int player = -1, computer = -1;
//0代表石头 1代表剪刀 2代表布
printf("请出拳,0代表石头,1代表剪刀,2代表布\n");
scanf("%d",&player);
while(player>2||player<0){
printf("你输的啥,重新输入!!\n");
scanf("%d",&player);
}
computer = arc4random_uniform(3);
if(computer == 0){
printf("电脑出石头\n");
}else if(computer == 1){
printf("电脑出剪刀\n");
}else if(computer == 2){
printf("电脑出布\n");
}
//若是计算机赢
//计算机剪刀1 玩家布2
//计算机石头0 玩家剪刀1
//计算机布2 玩家石头0
// 若是玩家出石头0 电脑出剪刀1 玩家赢
// 电脑出布2 玩家输
// 电脑出石头0 平局
switch(player){
case 0 :
printf("玩家出石头\n");
if(computer == 0){
printf("平局\n");
}else if(computer == 1){
printf("玩家赢\n");
}else{
printf("玩家输\n");
}
break;
// 0代表石头,1代表剪刀,2代表布
// 当玩家出剪刀1 当电脑出0石头 玩家输
// 当电脑出1剪刀 平局
// 当电脑出2布 玩家赢
case 1 :
printf("玩家出剪刀\n");
if(computer == 0){
printf("玩家输\n");
}else if(computer == 1){
printf("平局\n");
}else{
printf("玩家赢\n");
}
break;
case 2 :
printf("玩家出布\n");
if(computer == 0){
printf("玩家赢\n");
}else if(computer == 1){
printf("玩家输\n");
}else{
printf("平局\n");
}
break;
}
return 0;
}
复制代码
作者:
天是蓝色的
时间:
2015-5-20 23:14
好牛,大神啊!这么难的题都搞的定,抱大腿!
作者:
Rdxer
时间:
2015-5-20 23:32
不要辣么厉害好不好,
作者:
碧空海
时间:
2015-5-20 23:54
再次学习了,,,,,,,,,,,,,,,,,
作者:
lyricdon
时间:
2015-5-21 00:01
case 后面 大括号都没有 怎么运行的。。
作者:
梦初醉
时间:
2015-5-21 00:10
都可以,但是感觉IF 好点
作者:
cui0wei0
时间:
2015-5-21 13:47
lyricdon 发表于 2015-5-21 00:01
case 后面 大括号都没有 怎么运行的。。
为什么要加大括号啊?
作者:
jingkai
时间:
2015-5-21 14:13
不错,赞个
作者:
薇Grace
时间:
2015-5-21 14:57
写的太复杂了吧……应该可以精简下
作者:
万物长生
时间:
2015-5-21 21:25
看看,自己还没写出来
作者:
尹世伟
时间:
2015-5-21 21:28
我发的也有个 大家可以交流下
作者:
宋兴1228
时间:
2015-5-21 22:27
好牛,大神啊!这么难的题都搞的定,抱大腿!
作者:
woaidd99
时间:
2015-5-21 22:31
值得学习的思路啊
作者:
doushu
时间:
2015-5-21 23:07
顶顶顶.........
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2