21.综合应用石头剪刀布

/*
循环:即重复,当某些语句要出现执行多次时,就会把这
些语句放到循环的大括号内。

循环体:是循环大括号内的所有语句的集合。

循环的次数,往往会定义一个整型变量来控制,叫循环变量。

循环变量的三个必要表达式:
1.初值,是赋值语句,如:x=1
2.终限,是关系或关系加逻辑表达式,如:x<=100
3.步长,是一个复合赋值语句(会改循环变量的值),如:x++,或x+=2

循环变量的三个表达式应该怎么组合:
1.当初值小于终限,那么,关系表达式应该用小于或
小于等于,步长用+=或++
2.当初值大于终限,那么,关系表达式应该用大于或
大于等于,步长用-=或--

当循环终限为假时,结束循环,循环变量的值为"比终限大"或"比终限小"

for循环变量的三个表达式和循环体的执行次序:
1.初值
2.终限(为真时执行循环体,为假时结束循环(即循环右大括号之后))
3.循环体
4.步长(之后还会回到终限,判断真假)
*/
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
void main()
{
int jiqi,ren;
int n;

srand((unsigned)time(NULL));//确保rand()每次产生的随机数是不一样的
jiqi=rand()%3+1;

n=0;
printf("请出拳(1.石头;2.剪刀;3.布):");
re:n=scanf("%d",&ren);
if(n!=1||ren<1||ren>3)
{
printf("出拳有误,请重输:");
fflush(stdin);
goto re;
}

switch(ren)
{
case 1:
printf("你出的是 石头 ");
switch(jiqi)
{
case 1:printf("电脑出的是 石头,平手 ");break;
case 2:printf("电脑出的是 剪刀,你赢了 ");break;
case 3:printf("电脑出的是 布,你输了 ");break;
}
break;
case 2:
printf("你出的是 剪刀 ");
switch(jiqi)
{
case 1:printf("电脑出的是 石头,你输了 ");break;
case 2:printf("电脑出的是 剪刀,平手 ");break;
case 3:printf("电脑出的是 布,你赢了 ");break;
}
break;
case 3:
printf("你出的是 布 ");
switch(jiqi)
{
case 1:printf("电脑出的是 石头,你赢了 ");break;
case 2:printf("电脑出的是 剪刀,你输了 ");break;
case 3:printf("电脑出的是 布,平手 ");break;
}
break;
}
}

原文地址:https://www.cnblogs.com/wyj1212/p/9006524.html