初学者练习提问 c++

img

img

img

img


是要用已有的卡片一个一个和所有的卡片写,但是用的循环不会写,麻烦解答想看代码

用一个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;
}

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632