Untitled
unknown
plain_text
3 years ago
1.4 kB
1
Indexable
Never
#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; } }