/*
循环:即重复,当某些语句要出现执行多次时,就会把这
些语句放到循环的大括号内。
循环体:是循环大括号内的所有语句的集合。
循环的次数,往往会定义一个整型变量来控制,叫循环变量。
循环变量的三个必要表达式:
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;
}
}