主函数过长故分为多个片段
主函数1
char str[20];
int i=0,w=0;
OVS *ovs=(OVS *)malloc(sizeof(OVS));
ovs->top=-1;
OPS *ops=(OPS *)malloc(sizeof(OPS));
ops->elem[0]='#';
ops->top=0;
srand( (unsigned)time(NULL ));
int hua[4];
int number[4];
主函数2
printf("啦啦啦啦啦啦啦 24点游戏开始了!\n");
printf("10局游戏 3次机会 你准备好了吗?\n");
while(i<3||w>=10){//三次错误后结束游戏
for(int j=0;j<4;j++){
hua[j]=rand()%4;
number[j]=rand()%13;
for(int k=0;k<j;k++){
if(hua[j]==hua[k]&&number[j]==number[k]){
j--;
}
}
}
主函数3
for(j=0;j<4;j++){
switch(hua[j]){
case 0:printf("%s","红桃");break;
case 1:printf("%s","方片");break;
case 2:printf("%s","梅花");break;
case 3:printf("%s","黑桃");break;
}
switch(number[j]){
case 0:printf("%c\t",'A');break;
case 10:printf("%c\t",'J');break;
case 11:printf("%c\t",'Q');break;
case 12:printf("%c\t",'K');break;
default:printf("%d\t",number[j]+1);break;
}
}
主函数4
printf("请输入运算式:(以#结尾)\n");
scanf("%s",str);
if(!Judge(ovs,ops,str)){
i++;
}else{
w++;
}
}
主函数5
if(i>=3)
printf(" Game over!\n");
if(w>=10)
printf(" Congratulation!\n");
return 0;