📄 cai shu zi 4.1.c
字号:
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
/*该函数的功能是给一个四元素的一维数组赋不相同的值,而且第一个数不为0*/
void fz(int a[]) {
int i,j,k;
a[0]=rand()%9+1;
for(i=1;i<4;i++)
{a[i]=rand()%10;
do
{for(j=i-1;j>=0;j--)
if(a[i]==a[j]) {k=1; break;}
else k=0;
if(k) a[i]=rand()%10;
}
while(k);
}
}
/*该函数的功能是检验回答结果,并且输出结果*/
void jy(int x[],int y[],int *a,int *b) {
int i,j;
*a=*b=0;
for(i=0;i<4;i++)
if(x[i]==y[i]) (*a)++;
printf("\n%dA",*a);
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(x[i]==y[j]) (*b)++;
*b=*b-*a;
printf("%dB",*b);
}
main() {
int i,n,j,ys[4],hs[4],a,b,shu; char x;
printf("输入y开始游戏.");
while(getch()=='y') {
fz(ys);
for(n=1;n<=8;n++){ /*给游戏者8次机会*/
z1:printf("\n第%d次,请输入四个数字:",n);
j=0;
for(i=0;i<4;i++){ /*让游戏者输入四个数字*/
x=getche();
if(strchr("0123456789",x)!=0){hs[i]=x-48;j++;}
}
if(j!=4) {printf("\n数据格式不对!\n"); goto z1;}
jy(ys,hs,&a,&b);
if(a==4) {printf("\n 祝贺你,成功!"); break;}
}
if(n==9) printf("\n 未通过,继续加油!");
printf("\n答案为:"); for(i=0;i<4;i++) printf("%d",ys[i]);
printf("\n 输入y继续游戏,其他键结束!");
}
getch();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -