#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#define N 5
typedef struct
{
int elem[50];
int top;
}seqstack;
unsigned char pri[7][7] = {
'>','>','<','<','<','>','>',
'>','>','<','<','<','>','>',
'>','>','>','>','<','>','>',
'>','>','>','>','<','>','>',
'<','<','<','<','<','=',' ',
'>','>','>','>',' ','>','>',
'<','<','<','<','<',' ','='
};
char operator_arr[8]={'+' , '-' , '*' , '/' ,'(' , ')' , '#'};
unsigned int operator_int[7] = {43,45,42,47,40,41,35};
char retchar;
int rad_num[4];
int *p;
int arr_len;
void stack_init(seqstack *s)
{
s->top = -1;
}
int stack_pop(seqstack *s,int *x)
{
if(s->top == -1) //栈已空
{
return -1;
}
*x = s->elem[s->top];
s->top--;
return 0;
}
int stack_push(seqstack *s,int x)
{
if(s->top == 49) //栈已满
{
return -1;
}
s->top++;
s->elem[s->top] = x;
return 0;
}
int get_stack_top(seqstack *s)
{
if(s->top == -1) //栈已空
{
return -1;
}
return s->elem[s->top];
}
int counter(int num1,int operat,int num2)
{
if(operat == 43)
{
return num1+num2;
}
else if(operat == 45)
{
return num1-num2;
}
else if(operat == 42)
{
return num1*num2;
}
else if(operat == 47)
{
if(num2 == 0)
{
return num1;
}
return num1/num2;
}
else
{
return 0;
}
}
char priority(char a,char b)
{
int i,j;
int pos1,pos2;
for(i=0;i<7;i++)
{
if(a == operator_arr[i])
{
pos1 = i;
}
}
for(j=0;j<7;j++)
{
if(b == operator_arr[j])
{
pos2 = j;
}
}
retchar = pri[pos1][pos2];
if((pos1==4&&pos2==6)||(pos1==6&&pos2==5))
{
printf("pos1=%d,pos2=%d\n",pos1,pos2);
}
return retchar;
}
//计算表达式的值
int calc_expr_int(int arr[])
{
int i=0,ret,tmp;
int opera,num1,num2;
char pri;
seqstack stack_char;
seqstack stack_num;
stack_init(&stack_char);
stack_push(&stack_char, 35);
stack_init(&stack_num);
tmp=arr[i];
while (tmp!= 35 || get_stack_top(&stack_char)!=35)
{
if((arr[i]>=40&&arr[i]<=43) || arr[i]==45 ||arr[i]==47||arr[i]==35)
{
pri = priority(get_stack_top(&stack_char), tmp);
if(pri == '=')
{
stack_pop(&stack_char, &tmp);
i++;
tmp=arr[i];
}
else if(pri == '<')
{
stack_push(&stack_char,tmp);
i++;
tmp=arr[i];
}
else if(pri == '>')
{
//无需从表达式中取出下一个值
stack_pop(&stack_char, &opera);
stack_pop(&stack_num, &num2);
stack_pop(&stack_num, &num1);
stack_push(&stack_num, counter(num1, opera,num2));
}
else
{
printf("%c\n",pri);
printf("运算符有问题\n");
return 0;
}
}
else
{ // 不是运算符则进栈
stack_push(&stack_num,tmp);
i++;
tmp=arr[i];
}
}
ret=get_stack_top(&stack_num);
return ret;
}
//随机产生四个数字
void random_num()
{
int tmp;
int i;
for(i=0;i<4;i++)
{
tmp = rand();
tmp = tmp % 13 + 1;
rad_num[i] = tmp;
}
}
//将用户输入的字符型表达式转化为整形存放到数组中
int* str_to_int(char *str,int *ilen)
{
int len,num1,num2,num;
int j=0,flag = 0;
unsigned k;
int i;
len = strlen(str);
p = (int *)malloc(sizeof(int)*len+1);
for(k=0;k<strlen(str);k++)
{
if(str[k]>47&&str[k]<58&&flag==0)//字符0-9转换成整数0-9
{
num1=(int)str[k]-48;
flag++;
}
else if(str[k]>47&&str[k]<58&&flag==1)//输入的字符可能是10-13所以用t=1表示这是在处理个位数
{
num2=(int)str[k]-48;
num=num1*10+num2;
flag++;
}
else if((str[k]>=40&&str[k]<=43) || str[k]==35 || str[k]==45 ||str[k]==47)
{
if(flag==1)//将0-9插入数组
{
p[j] = num1;
j++;
}
else if(flag==2) //将10-13插入数组
{
p[j] = num;
j++;
}
//将字符插入数组
p[j] = str[k];
j++;
flag=0;
}
else
{
printf("%c是错误的字符!\n",str[k]);
}
}
//因为前面是遇到运算符才将数字插入数组,所以还剩最后一个整数没插入
i=strlen(str)-1;
if(str[i]>47&&str[i]<58)
{
if(str[i-1]>47&&str[i-1]<58)
{
p[j] = num;
j++;
}
else
{
p[j] = num1;
j++;
}
}
p[j]=35;
*ilen = j;
return p;
}
//(a (b c)) d
int express_1(int *exp)
{
int expr[12];
int p,q,m,n;
int i,j,k;
int a,ret;
for(m=0;m<4;m++)
{
for(n=0;n<4;n++)
{
if(n==m)
{
continue;
}
for(p=0;p<4;p++)
{
if(p==n||p==m)
{
continue;
}
for(q=0;q<4;q++)
{
if(q==p||q==m||q==n)
{
continue;
}
expr[1] = exp[m];
expr[4] = exp[n];
expr[6] = exp[p];
expr[10] = exp[q];
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
for(k=0;k<4;k++)
{
expr[2] = operator_int[i];
expr[5] = operator_int[j];
expr[9] = operator_int[k];
expr[0] = operator_int[4];
expr[8] = operator_int[5];
expr[3] = operator_int[4];
expr[7] = operator_int[5];
expr[11] = operator_int[6];
ret = calc_expr_int(expr);
if( ret == 24)
{
printf("可以计算出结果为24的表达式为:");
for(a=0;a<11;a++)
{
if(expr[a]<=39||expr[a]>57||expr[a]==44||expr[a]==46)
{
printf("%d",expr[a]);
}
else
{
printf("%c",expr[a]);
}
}
printf("\n");
return 1;
}
}
}
}
}
}
}
}
return 0;
}
//((a b) c) d
int express_2(int *exp)
{
int expr[12];
int p,q,m,n;
int i,j,k;
int a;
for(m=0;m<4;m++)
{
for(n=0;n<4;n++)
{
if(n==m)
{
continue;
}
for(p=0;p<4;p++)
{
if(p==n||p==m)
{
continue;
}
for(q=0;q<4;q++)
{
if(q==p||q==m||q==n)
{
continue;
}
expr[2] = exp[q];
expr[4] = exp[p];
expr[7] = exp[n];
expr[10] = exp[m];
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
for(k=0;k<4;k++)
{
expr[3] = operator_int[k];
expr[6] = operator_int[j];
expr[9] = operator_int[i];
expr[0] = operator_int[4];
expr[8] = operator_int[5];
expr[1] = operator_int[4];
expr[5] = operator_int[5];
expr[11] = operator_int[6];
if(calc_expr_int(expr) == 24)
{
printf("可以计算出结果为24的表达式为:");
for(a=0;a<11;a++)
{
if(expr[a]<=39||expr[a]>57||expr[a]==44||expr[a]==46)
{
printf("%d",expr[a]);
}
else
{
printf("%c",expr[a]);
}
}
printf("\n");
return 1;
}
}
}
}
}
}
}
}
//printf("2222\n");
return 0;
}
//a (b c) d
int express_3(int *exp)
{
int expr[10];
int p,q,m,n;
int i,j,k;
int a;
for(m=0;m<4;m++)
{
for(n=0;n<4;n++)
{
if(n==m)
{
continue;
}
for(p=0;p<4;p++)
{
if(p==n||p==m)
{
continue;
}
for(q=0;q<4;q++)
{
if(q==p||q==m||q==n)
{
continue;
}
expr[0] = exp[q];
expr[3] = exp[p];
expr[5] = exp[n];
expr[8] = exp[m];
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
for(k=0;k<4;k++)
{
expr[1] = operator_int[k];
expr[4] = operator_int[j];
expr[7] = operator_int[i];
expr[2] = operator_int[4];
expr[6] = operator_int[5];
expr[9] = operator_int[6];
if(calc_expr_int(expr) == 24)
{
printf("可以计算出结果为24的表达式为:");
for(a=0;a<9;a++)
{
if(expr[a]<=39||expr[a]>57||expr[a]==44||expr[a]==46)
{
printf("%d",expr[a]);
}
else
{
printf("%c",expr[a]);
}
}
printf("\n");
return 1;
}
}
}
}
}
}
}
}
//printf("3333\n");
return 0;
}
//(a b) (c d)
int express_4(int *exp)
{
int expr[12];
int p,q,m,n;
int i,j,k;
int a;
for(m=0;m<4;m++)
{
for(n=0;n<4;n++)
{
if(n==m)
{
continue;
}
for(p=0;p<4;p++)
{
if(p==n||p==m)
{
continue;
}
for(q=0;q<4;q++)
{
if(q==p||q==m||q==n)
{
continue;
}
expr[1] = exp[q];
expr[3] = exp[p];
expr[7] = exp[n];
expr[9] = exp[m];
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
for(k=0;k<4;k++)
{
expr[2] = operator_int[k];
expr[5] = operator_int[j];
expr[8] = operator_int[i];
expr[0] = operator_int[4];
expr[4] = operator_int[5];
expr[6] = operator_int[4];
expr[10] = operator_int[5];
expr[11] = operator_int[6];
if(calc_expr_int(expr) == 24)
{
printf("可以计算出结果为24的表达式为:");
for(a=0;a<11;a++)
{
if(expr[a]<=39||expr[a]>57||expr[a]==44||expr[a]==46)
{
printf("%d",expr[a]);
}
else
{
printf("%c",expr[a]);
}
}
printf("\n");
return 1;
}
}
}
}
}
}
}
}
// printf("4444\n");
return 0;
}
//a*b*c*d
int express_5(int *exp)
{
int expr[8];
int p,q,m,n;
int i,j,k;
int a;
for(m=0;m<4;m++)
{
for(n=0;n<4;n++)
{
if(n==m)
{
continue;
}
for(p=0;p<4;p++)
{
if(p==n||p==m)
{
continue;
}
for(q=0;q<4;q++)
{
if(q==p||q==m||q==n)
{
continue;
}
expr[0] = exp[q];
expr[2] = exp[p];
expr[4] = exp[n];
expr[6] = exp[m];
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
for(k=0;k<4;k++)
{
expr[1] = operator_int[k];
expr[3] = operator_int[j];
expr[5] = operator_int[i];
expr[7] = operator_int[6];
if(calc_expr_int(expr) == 24)
{
printf("可以计算出结果为24的表达式为:");
for(a=0;a<7;a++)
{
if(expr[a]<=39||expr[a]>57||expr[a]==44||expr[a]==46)
{
printf("%d",expr[a]);
}
else
{
printf("%c",expr[a]);
}
}
printf("\n");
return 1;
}
}
}
}
}
}
}
}
//printf("5555\n");
return 0;
}
//(a b c) d
int express_6(int *exp)
{
int expr[10];
int p,q,m,n;
int i,j,k;
int a;
for(m=0;m<4;m++)
{
for(n=0;n<4;n++)
{
if(n==m)
{
continue;
}
for(p=0;p<4;p++)
{
if(p==n||p==m)
{
continue;
}
for(q=0;q<4;q++)
{
if(q==p||q==m||q==n)
{
continue;
}
expr[1] = exp[q];
expr[3] = exp[p];
expr[5] = exp[n];
expr[8] = exp[m];
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
for(k=0;k<4;k++)
{
expr[2] = operator_int[k];
expr[4] = operator_int[j];
expr[7] = operator_int[i];
expr[0] = operator_int[4];
expr[6] = operator_int[5];
expr[9] = operator_int[6];
if(calc_expr_int(expr) == 24)
{
printf("可以计算出结果为24的表达式为:");
for(a=0;a<9;a++)
{
if(expr[a]<=39||expr[a]>57||expr[a]==44||expr[a]==46)
{
printf("%d",expr[a]);
}
else
{
printf("%c",expr[a]);
}
}
printf("\n");
return 1;
}
}
}
}
}
}
}
}
// printf("6666\n");
return 0;
}
//(a b) c d
int express_7(int *exp)
{
int expr[10];
int p,q,m,n;
int i,j,k;
int a;
for(m=0;m<4;m++)
{
for(n=0;n<4;n++)
{
if(n==m)
{
continue;
}
for(p=0;p<4;p++)
{
if(p==n||p==m)
{
continue;
}
for(q=0;q<4;q++)
{
if(q==p||q==m||q==n)
{
continue;
}
expr[1] = exp[q];
expr[3] = exp[p];
expr[6] = exp[n];
expr[8] = exp[m];
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
for(k=0;k<4;k++)
{
expr[2] = operator_int[k];
expr[5] = operator_int[j];
expr[7] = operator_int[i];
expr[0] = operator_int[4];
expr[4] = operator_int[5];
expr[9] = operator_int[6];
if(calc_expr_int(expr) == 24)
{
printf("可以计算出结果为24的表达式为:");
for(a=0;a<9;a++)
{
if(expr[a]<=39||expr[a]>57||expr[a]==44||expr[a]==46)
{
printf("%d",expr[a]);
}
else
{
printf("%c",expr[a]);
}
}
printf("\n\n");
return 1;
}
}
}
}
}
}
}
}
//printf("7777\n");
return 0;
}
int calculation24(int *arr)
{
if(express_1(arr))
{
return 1;
}
else if(express_2(arr))
{
return 1;
}
else if(express_3(arr))
{
return 1;
}
else if(express_4(arr))
{
return 1;
}
else if(express_5(arr))
{
return 1;
}
else if(express_6(arr))
{
return 1;
}
else if(express_7(arr))
{
return 1;
}
else
{
return 0;
}
}
/*对用户输入的表达式进行检测
1.输入的数字可能不是给出的四位数字
2.输入错误的运算符
3.重复使用给出的某个数字
*/
int check_num(char *arr)
{
int i,j,k;
int *iarr;
int tmp[4];
//解决第三个问题
for(k=0;k<4;k++)
{
tmp[k] = rad_num[k];
}
iarr = str_to_int(arr,&arr_len);
// printf("%d\n",arr_len);
for(i=0;i<arr_len;i++)
{
if((iarr[i]>=0&&iarr[i]<=13)||(iarr[i]>=40&&iarr[i]<=43) || iarr[i]==35 || iarr[i]==45 ||iarr[i]==47)
{
if(iarr[i]>=0&&iarr[i]<=13)
{
for(j=0;j<4;j++)
{
if(iarr[i] == tmp[j])
{
tmp[j] = -1;//使用tmp数组作为标记,如果不能全部清零证明重复使用给出的某个数字
break;
}
}
if(j>=4)
{
//printf("你的表达式含有错误的字符\n");
return 0;
}
}
else
{
for(j=0;j<7;j++)
{
if(iarr[i] == operator_int[j])
{
break;
}
}
if(j>=7)
{
//printf("的表达式含有错误的字符\n");
return 0;
}
}
}
else
{
//printf("输入表达式有错误!!!\n");
return 0;
}
}
for(k=0;k<4;k++)
{
if(tmp[k] > 0)
{
return 0;
}
}
return 1;
}
//enter函数
void enter(int x)
{
for(int i=0;i<x;i++)
printf("\n");
}
//tab函数
void tab(int x)
{
for(int i=0;i<x;i++)
printf("\t");
}
void start()
{
system("cls");
int kk,i;
for(kk=0;kk<2;kk++)
{
system("color B");
enter(7);
tab(3);
printf(" 24点游戏 ");
enter(2);
tab(3);
printf(" ■");
enter(1);
tab(4);
for(i=0;i<100000000;i++)
{}
system("cls"); //circle 1 end
enter(7);
tab(3);
printf(" 24点游戏 ");
enter(2);
tab(3);
printf(" ■");
enter(1);
tab(4);
for(i=0;i<100000000;i++)
{}
system("cls"); //circle 2 end
enter(7);
tab(3);
printf(" 24点游戏 ");
enter(2);
tab(3);
printf(" ■");
enter(1);
tab(4);
for(i=0;i<100000000;i++)
{}
system("cls"); //circle 3 end
enter(7);
tab(3);
printf(" 24点游戏 ");
enter(2);
tab(3);
printf(" ■");
enter(1);
tab(4);
for(i=0;i<100000000;i++)
{}
system("cls"); //circle 4 end
enter(7);
tab(3);
printf(" 24点游戏 ");
enter(2);
tab(3);
printf(" ■");
enter(1);
tab(4);
for(i=0;i<100000000;i++)
{}
system("cls"); //circle 5 end
enter(7);
tab(3);
printf(" 24点游戏 ");
enter(2);
tab(3);
printf(" ■");
enter(1);
tab(4);
for(i=0;i<100000000;i++)
{}
system("cls"); //circle 6 end
enter(7);
tab(3);
printf(" 24点游戏 ");
enter(2);
tab(3);
printf(" ■");
enter(1);
tab(4);
for(i=0;i<100000000;i++)
{}
system("cls"); //circle 7 end
enter(7);
tab(3);
printf(" 24点游戏 ");
enter(2);
tab(3);
printf(" ■");
enter(1);
tab(4);
for(i=0;i<100000000;i++)
{}
system("cls"); //circle 8 end
enter(7);
tab(3);
printf(" 24点游戏 ");
enter(2);
tab(3);
printf(" ■");
enter(1);
tab(4);
for(i=0;i<100000000;i++)
{}
system("cls"); //circle 9 end
enter(7);
tab(3);
printf(" 24点游戏 ");
enter(2);
tab(3);
printf(" ■");
enter(1);
tab(4);
for(i=0;i<100000000;i++)
{}
system("cls"); //circle 9 end
enter(7);
tab(3);
printf(" 24点游戏 ");
enter(2);
tab(3);
printf(" ■");
enter(1);
tab(4);
for(i=0;i<100000000;i++)
{}
system("cls"); //circle 9 end
enter(7);
tab(3);
printf(" 24点游戏 ");
enter(2);
tab(3);
printf(" ■");
enter(1);
tab(4);
for(i=0;i<100000000;i++)
{}
system("cls"); //circle 9 end
enter(7);
tab(3);
printf(" 24点游戏 ");
enter(2);
tab(3);
printf(" ■");
enter(1);
tab(4);
for(i=0;i<100000000;i++)
{}
system("cls"); //circle 9 end
}
}
char name[20] = "wuzhaowen";
char password[20] = "123456";
void login()
{
char count[20];
char pass[20];
int i;
while(1)
{
//int flag = 0;
system("cls");
enter(7);
tab(3);
printf(" 游戏账号登录 ");
enter(2);
tab(4);
printf("Count:");
scanf("%s",count);
if(strcmp(count,name)==0)
{
//flag = 1;
leap: system("cls");
enter(7);
tab(3);
printf(" 游戏账号登录 ");
enter(2);
tab(4);
printf("Password:");
scanf("%s",pass);
getchar();
if(strcmp(pass,password) == 0)
{
break;
}
else
{
tab(4);
printf("Your password is error! try again!\n");
for(i=0;i<500000000;i++);
goto leap;
}
}
else
{
tab(4);
printf("Your password is error! try again!\n");
for(i=0;i<500000000;i++);
}
}
}
int main()
{
char c,q;
int y_n = 1;
int curr_mode = 1;
int mode = 1;
int right_count = 0;
int all_count = 0;
char express[50];
int quit = 0;
start();
login();
while(!quit)
{
system("cls");
printf(" **************************************************\n");
printf(" *[0]:游戏给你四个数字,你输入正确表达式! *\n");
printf(" *[1]:输入你喜欢的数字,让程序来计算符合的表达式! *\n");
printf(" *[2]:游戏退出! *\n");
printf(" **************************************************\n");
printf("\n\n\n");
printf("你想怎么玩?请你选择:");
c = getchar();
//printf("c=%c\n",c);
getchar();
printf("\n");
system("cls");
if(c == '0')
{
curr_mode = 1;
while(curr_mode)
{
random_num();
printf("游戏给你的4个数字为:%d %d %d %d\n",rad_num[0],rad_num[1],rad_num[2],rad_num[3]);
printf("请你输入正确的表达式,如果你认为给出的数字不能构建结果为24的表达式请输入'?'\n");
printf(":");
scanf("%s",express);
getchar();
if(strcmp("?",express) == 0)
{
system("cls");
if(calculation24(rad_num))
{
all_count++;
printf("不好意思,给出的数字是能够计算出24的! o(︶︿︶)o唉\n\n");
}
else
{
printf("恭喜,你答对了! o(≧v≦)o~~好棒\n\n");
all_count++;
right_count++;
}
}
else
{
while(!check_num(express))
{
printf("你的表达式格式不正确,请重新输入:");
scanf("%s",express);
getchar();
}
printf("\n");
system("cls");
if(calc_expr_int(str_to_int(express,&arr_len)) != 24)
{
all_count++;
printf("不好意思,你答错了!你的表达式不能算出24!!! o(︶︿︶)o唉\n\n");
}
else
{
printf("恭喜,你答对了! o(≧v≦)o~~好棒\n\n");
all_count++;
right_count++;
}
}
printf("请问,你还想在此模式下玩下去吗?(Y|N):");
//printf("\n");
y_n = 1;
while(y_n)
{
q = getchar();
getchar();
if(q == 'y'|| q == 'Y')
{
curr_mode = 1;
y_n = 0;
printf("\n");
}
else if(q == 'N' || q == 'n')
{
curr_mode = 0;
y_n = 0;
printf("\n");
}
else
{
printf("\n");
printf("输入错误,请重新输入[Y|N]:");
y_n = 1;
}
}
}
printf("请问你是想继续玩游戏[Y],还是想退出[N]?(Y|N):");
y_n = 1;
while(y_n)
{
scanf("%c",&c);
getchar();
if(c == 'Y'||c == 'y')
{
quit = 0;
y_n = 0;
printf("\n");
}
else if(c == 'N' || c == 'n')
{
quit = 1;
y_n = 0;
printf("\n");
printf("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t************\n");
printf("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t* 答题:%d *\n",all_count);
printf("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t* 答对:%d *\n",right_count);
printf("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t************\n");
printf("\t\t\t\t游戏退出成功!!!\n\n\n\n\n");
}
else
{
printf("\n");
printf("输入错误,请选择:");
y_n = 1;
}
}
}
else if(c == '1')
{
int ret;
mode = 1;
while(mode == 1)
{
printf("请输入0-13之间的4个数字:");
scanf("%d%d%d%d",&rad_num[0],&rad_num[1],&rad_num[2],&rad_num[3]);
getchar();
while(rad_num[0] > 13 || rad_num[0] < 0 || rad_num[1] > 13 || rad_num[1] < 0 ||rad_num[2] > 13 || rad_num[2] < 0 || rad_num[3] > 13 || rad_num[3] < 0)
{
printf("不好意思,你输入的每一个数字必须为0-13之间,重新输入:");
scanf("%d%d%d%d",&rad_num[0],&rad_num[1],&rad_num[2],&rad_num[3]);
getchar();
}
system("cls");
ret = calculation24(rad_num);
if(ret == 0)
{
all_count++;
printf("错误!你输入的数字不能构造一个值为24的表达式! o(︶︿︶)o唉\n\n");
printf("\n");
}
else
{
printf("恭喜,你答对了! o(≧v≦)o~~好棒\n\n");
all_count++;
right_count++;
}
printf("请问,你还想在此模式下玩下去吗?(Y|N):");
y_n = 1;
while(y_n)
{
scanf("%c",&q);
getchar();
//printf("q=%c\n",q);
if(q == 'y'|| q == 'Y')
{
mode = 1;
y_n = 0;
printf("\n");
}
else if(q == 'N' || q == 'n')
{
mode = 0;
y_n = 0;
printf("\n");
}
else
{
printf("\n");
printf("输入错误,请重新输入[Y|N]:");
y_n = 1;
}
}
}
printf("请问你是想继续玩游戏[Y],还是想退出[N]?(Y/N):");
y_n = 1;
while(y_n)
{
scanf("%c",&c);
getchar();
//system("cls");
if(c == 'Y'||c == 'y')
{
quit = 0;
y_n = 0;
printf("\n");
}
else if(c == 'N' || c == 'n')
{
quit = 1;
y_n = 0;
printf("\n");
printf("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t************\n");
printf("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t* 答题:%d *\n",all_count);
printf("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t* 答对:%d *\n",right_count);
printf("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t************\n");
printf("\t\t\t\t游戏退出成功!!!\n\n\n\n\n");
}
else
{
printf("\n");
printf("输入错误,请选择:");
y_n = 1;
}
}
}
else
{
quit = 1;
printf("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t************\n");
printf("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t* 答题:%d *\n",all_count);
printf("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t* 答对:%d *\n",right_count);
printf("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t************\n");
printf("\t\t\t\t游戏退出成功!!!\n\n\n\n\n");
return 0;
}
}
return 0;
}
24点游戏源码
最新推荐文章于 2021-06-10 11:29:11 发布