c++功课,麻烦了
c++作业,麻烦了
使用VC作成Console应用,完成如下功能的程序:
猜数游戏1。
计算机拟定一个4位的随机数后,
由猜数人来输入4位数。
每次给出有多少位数字正确,有多少位位置正确。
形如:D2P1,表示:数字2位正确,位置1位正确。
请猜数人再次输入,直到全部正确为止。
猜数游戏2。
出题人拟定一个4位数后,
让计算机输出4位数。并接收出题人的回答,有多少位数字正确,有多少位位置正确。
然后计算机再次输出4位数,直到全部正确为止。
以上
------解决方案--------------------
试试看,不保证对:
使用VC作成Console应用,完成如下功能的程序:
猜数游戏1。
计算机拟定一个4位的随机数后,
由猜数人来输入4位数。
每次给出有多少位数字正确,有多少位位置正确。
形如:D2P1,表示:数字2位正确,位置1位正确。
请猜数人再次输入,直到全部正确为止。
猜数游戏2。
出题人拟定一个4位数后,
让计算机输出4位数。并接收出题人的回答,有多少位数字正确,有多少位位置正确。
然后计算机再次输出4位数,直到全部正确为止。
以上
------解决方案--------------------
试试看,不保证对:
while (1) {
cout << "输入数据(4位数字):";
cin >> str2;
//cout<<str2<<endl;
if (strlen(str2)!=4) continue;
if (!(isdigit(str2[0])
&& isdigit(str2[1])
&& isdigit(str2[2])
&& isdigit(str2[3]))) continue;
int x[4],y;
y=0;
for (n = 0; n < 4; n++){
x[n]=0;
if (str1[n] == str2[n]){
x[n]=n+1;
y++;
}
}
if (y == 4){
cout << "恭喜你答对了!" << endl;
getchar();
return 0;
};
cout << "恭喜你答对了" << y << "位位置" << endl;
y=0;
for (n=0;n<4;n++) {
for (m=0;m<4;m++) {
if (str2[n]==str1[m]) {
y++;
break;
}
}
}
cout << "恭喜你答对了" << y << "位数字" << endl;
}