用一个4*13数组记录已有的牌,双循环输出数组中没有的牌即可
你题目的解答代码如下:
#include <iostream>
using namespace std;
int main()
{
int a[4][14];
int i,j,n,x,d;
char ch;
for (i = 0; i < 4; i++)
{
for (j = 1; j <= 13; j++)
{
a[i][j] = 0;
}
}
cin >> n;
for (i = 0; i < n; i++)
{
cin >> ch >> d;
getchar();
switch (ch)
{
case 'S': x=0; break;
case 'H': x=1; break;
case 'C': x=2; break;
case 'D': x=3; break;
}
a[x][d] = 1;
}
for (i = 0; i < 4; i++)
{
for (j = 1; j <= 13; j++)
{
if (a[i][j] == 0)
{
switch (i)
{
case 0: ch='S'; break;
case 1: ch='H'; break;
case 2: ch='C'; break;
case 3: ch='D'; break;
}
cout << ch << " " << j << endl;
}
}
}
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!