#include <stdio.h>
#include <stdlib.h>
int Rn()
{
int a;
srand(time(NULL));
a=rand()%2+1;
return a;
}
int Hg(int c,int a)
{
switch(c)
{case 1:
printf("%d\n",a);
a++;
break;
case 2:
printf("%d\n",a);
a++;
printf("%d\n",a);
a++;
}
return a;
}
int Cg(int a)
{
int d;
d=(30-a)%3+1;
switch(d)
{
case 3:
if(Rn()==1)
goto ONE;
else
goto TWO;
ONE:case 1:
printf("%d\n",a);
a++;
break;
TWO:case 2:
printf("%d\n",a);
a++;
printf("%d\n",a);
a++;}
return a;
}
main()
{
int a,y,c,d,b;
a=1;
do
{
printf("how many numbers do you want to input?(1 or 2)");
scanf("%d",&c);
Hg(c,a);
a=Hg(c,a);
if(a>=30)
{
b=1;
break;
}
Cg(a);
a=Cg(a);
if(a>=30)
{
b=2;
break;
}
}while(a<=30);
switch(b)
{
case 1:printf("huaman has won!");
break;
case 2:printf("computer has won!");
}
}
不知道哪儿有问题
逻辑没看。
你既然用到time函数,头文件应该导入time.h.
建议少用goto,按照你的代码结构,可以简化。以下参照你的代码改的:
#include <stdio.h>另外:如果将累加变量c写成公共变量,或者在main中定义c,然后传址,代码还会更简化。