#include <stdio.h> #include <stdlib.h>#include <time.h>void fun(){static int gc,count,try_time;static inta[4],b[4],i,j,k=0,m=0,n=1,u,sumA=0,sumB=0,flag[10]={0};srand(time(NULL));count=4;try_time=10;for(i=0;i<count;i++){int t;do{t=rand()%10;}while(i==0 && t==0);if(flag[t]==0)a[i]=t;flag[t]=1;}else i--;SSSSS \n");prin tf(" s猜 数 游 戏s \n");printf(" ssssssssssssssssssssssssssss \n"printf(" s1:开始游戏s \n");printf("s2: 查看上次成绩s \n");printf("s3:帮助信息s \n");printf("s4:系统设置s \n");printf(" s0:退 出 游 戏s \n");ssss \n"printf("\nsssssssssssssssssssssssprintf(" ssssssssssssssssssssssssprintf(" 请输入选择: ");scanf("%d",&n);if(n==0){printf("\n\n 感谢您的使用,游戏退出!\n");exit(0);}if(n==2){ printf("\n\n 上次的成绩为:%d\n",u); do{printf(" 输入0 返回上级菜单:");scanf("%d",&n);printf(" 输入错误!请重新输入!\n");}while (n>0);{system("CLS");fun();}}if(n==3)printf("--------- \n");printf(" 游戏规则:\n");printf(" 在屏幕上输入个不同的数,在系统生成的个数进行比较,\n");printf(" 如果数字跟位置都正确,则胜出!总共可以尝试%d 次。
每尝试一次扣10 分。
\n\n",try_time);printf(" --------------------------------------------------------- \n");do{printf(" 输入0 返回上级菜单:"); scanf("%d",&n);system("pause");if(n!=0)printf(" 输入错误!请重新输入!\n");}while (n>0);{system("CLS");fun();}if(n==1){printf("\n 请输入%c位不同的数字(0~9之间):",count);for(j=0;j<count;j++)scanf("%d",&b[j]);gc=0;for(i=0; i<count; i++){for(j=i+1;j<count;j++){if(b[i]==b[j]){printf(" 输入有重复\n\n");gc=1;break;}}}if(gc==1) for(i=0;i<count;i++)for(j=0;j<count;j++){if(i==j && a[i]==b[j])sumA++;else if(i!=j && a[i]==b[j])sumB++;}}printf(" 猜数结果为:");printf(”有%d个数数值和位置都相同!有%小个数数值相同,但位置不同。
\n",sumA,sumB);if(sumA==4){printf("\n 恭喜你!猜对了!!\n ");printf(" 本次得分是: %d\n",u);printf("\n 恭喜你!你的成绩能进入积分榜!\n");printf(" 请输入你的姓名:");printf(" 请输入0 返回上级菜单:");scanf("%d",&n);do{printf(" 输入0 返回上级菜单:"); scanf("%d",&n);if(n!=0)printf(" 输入错误! 请重新输入!\n");}while (n>0);{system("CLS");fun();}}sumA=0,sumB=0;k++;u=100-try_time*k;if(k==try_time){printf(" 所猜数字为: ");for(i=0;i<count;i++)printf("%d",a[i]);printf("\n");printf(" 请输入0 返回上级菜单: "); scanf("%d",&n);do{printf(" 请输入0 返回上级菜单:");scanf("%d",&n);if(n!=0)printf(" 输入错误! 请重新输入!\n");}while (n>0);{system("CLS");fun();}}}if(n==4){int menu;int temp;system("cls");printf(" 游戏设置\n ( 1) 修改要猜的数字的个数.\n 2) 修改可以尝试的次数.\n (3) 退出设置.\n");printf(" 请输入1 到3:\n");scanf("%d",&menu);while(menu<1|| menu>3) printf(" 请输入1到3:\n");{scanf("%d",&menu);return ;}switch(menu){case 1:printf(”目前游戏中系统会自动产生%c个数”,count);printf(" 请输入你要修改的个数(0 到10) :(输入0 不修改)\n");scanf("%d",&temp);while(temp<0||temp>10){if(temp=0){printf(" 你并未修改.\n"); system("pause");} else{printf(" 请输入0到10:\n");}count=temp;printf(" 你修改的新个位为:%d.\n",count);system("pause");break;scanf("%d",&temp);case 2:printf(" 目前游戏中尝试次数为%d次”,try_time);printf("请输入你要修改的次数:(输入0不修改)\n");scanf("%d",&temp);while(temp<0){if(temp==0){printf(" 你并未修改.\n");system("pause");return ;}else{printf(”请输入大于0的数:\n");scanf("%d",&temp);}}try_time=temp;printf(" 你修改的新次数为:%d.\n",try_time);system("pause");break;}}}void main() {fun();。