?? cai shu zi 3.1.c
字號:
#include "stdio.h"
#include "stdlib.h"
/*該函數(shù)的功能是給一個(gè)四元素的一維數(shù)組賦不相同的值*/
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);
}
}
/*該函數(shù)的功能是檢驗(yàn)回答結(jié)果,并且輸出結(jié)果*/
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("\n%dB",*b);
}
main() {
int i,n,j,ys[4],hs[4],a,b,shu;
printf("輸入y開始游戲.");
while(getch()=='y') {
fz(ys);
for(n=1;n<=8;n++){
z1:printf("\n第%d次,請輸入四個(gè)數(shù)字:",n);
scanf("%d",&shu);
if(shu<1000 || shu>9999) {printf("格式不對!"); goto z1; }
else {hs[0]=shu/1000; shu=shu%1000; hs[1]=shu/100;shu=shu%100;
hs[2]=shu/10; hs[3]=shu%10;} /* 還是改變不了字母對程序的沖擊*/
for(i=0;i<4;i++) printf("%d",hs[i]);
/*z1: printf("\n第%d次,請輸入四個(gè)數(shù)字:",i);
scanf("%d",&shu);
if(shu<1000 || shu>9999) {printf("格式不對!"); goto z1; }
else itoa(shu,hs,10);
for(i=0;i<4;i++) printf("%d",hs[i]); */
/*for(j=0;j<4;j++) {
scanf("%d",&hs[j]);
if(hs[j]<0 || hs[j]>9) {printf("\n 格式不對!"); goto z1;}
} */
jy(ys,hs,&a,&b);
if(a==4) {printf("\n 祝賀你,成功!"); break;}
}
if(i==9) printf("\n 未通過!");
printf("\n答案為:");
for(i=0;i<4;i++) printf("%d",ys[i]);
printf("\n 輸入y繼續(xù)游戲,其他鍵結(jié)束!");
}
getch();
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -