#include<bits/stdc++.h> using namespace std; int arr[10]={0,0,0,0,0,0,0,0,0,0}; int ansarr[4]={0,0,0,0};//将答案转存到数组中 int resarr[4]={0,0,0,0};//将猜想转存到数组中 int main(){ //第一步:生成一个四位数 答案,各个数位数字不同 int ans=0; srand(time(0));//随机种子 for(int i=0;i<4;i++){ int x; do{ x=rand()%10; }while(arr[x]!=0); arr[x]=1; ans=ans*10+x; } //cout<<ans<<endl; int cnt=0; while(1){ cnt++; //第二步:将ans 转存到ansarr数组中 for(int i=3;i>=0;i--){ ansarr[i]=ans%10; ans=ans/10; } int res;//存输入的 猜想 cout<<"请输入你的答案:"<<endl; cin>>res; //将res 转存到resarr数组中 for(int i=3;i>=0;i--){ resarr[i]=res%10; res=res/10; } //验证ans存到ansarr数组中 // for(int i=0;i<4;i++){ // cout<<resarr[i]<<" "; // } //第三步:判定几A几B int A=0,B=0; //先算B有几个 for(int i=0;i<4;i++){ for(int j=0;j<4;j++){ if(resarr[i]==ansarr[j]) B++; } } //再算A有几个 for(int i=0;i<4;i++){ if(resarr[i]ansarr[i]) A++; } B=B-A; cout<<A<<"A "<<B<<"B"<<endl; //打印几A几B if(A4){ cout<<"恭喜你猜对了,共用"<<cnt<<"次"; break; } } return 0; }

0 条评论

目前还没有评论...