Untitled
unknown
plain_text
4 years ago
1.4 kB
8
Indexable
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <time.h>
int input[4],ans[4];
bool check_ans(){
for(int i=0;i<4;i++) if(ans[i]!=input[i]) return false;
return true;
}
int main(){
srand(time(0));
bool play=true;
while(play){
bool check[10]={0};
for(int i=0;i<4;i++){
do{
ans[i]=rand()%10;
}while(check[ans[i]]);
check[ans[i]]=true;
}
bool guess=false;
for(int T=1;T<=10;T++){
printf("請輸入4位不重複的數字:");
bool repeat=false;
do{
if(repeat) printf("數字重複,請重新輸入:");
repeat=false;
for(int i=0;i<4;i++){
scanf("%d",&input[i]);
for(int j=0;j<i;j++) if(input[i]==input[j]) repeat=true;
}
}while(repeat);
if(check_ans()){
guess=true;
printf("恭喜你答對了!答案就是 ");
for(int i=0;i<4;i++) printf("%d ",ans[i]);
break;
}else{
int A=0,B=0;
for(int i=0;i<4;i++){
if(input[i]==ans[i]) A++;
else if(check[input[i]]) B++;
}
printf("%02d. ",T);
for(int i=0;i<4;i++) printf("%d ",input[i]);
printf("A%dB%d\n",A,B);
}
}
if(!guess){
printf("沒關係再接再厲,答案是 ");
for(int i=0;i<4;i++) printf("%d ",ans[i]);
}
printf("\n\n你要再玩一次嗎?(y/Y)");
char c;
scanf(" %c",&c);
if(c!='y' && c!='Y') play=false;
}
}Editor is loading...