猜数字游戏代码C语言#include <stdio.h>#include <stdlib.h>#include <time.h>void fun(){static int gc,count,try_time;static int a[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--;}printf("\n∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽\n");printf("∽猜数游戏∽\n");printf("∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽\n");printf("∽1: 开始游戏∽\n");printf("∽2: 查看上次成绩∽\n");printf("∽3: 帮助信息∽\n");printf("∽4: 系统设置∽\n");printf("∽0: 退出游戏∽\n");printf("∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽\n");printf("请输入选择: ");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请输入%d位不同的数字(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个数数值和位置都相同!有%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("目前游戏中系统会自动产生%d个数",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");scanf("%d",&temp);}}count=temp;printf("你修改的新个位为:%d.\n",count);system("pause");break;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();}。