搜尋

首頁  >  問答  >  主體

我们今天c++考试有一道关于数组的题,vs2015编译通过了,但执行起来什么都不显示,希望各位前辈帮忙看看是为什么?

问题是:
四个人52张牌【没有大小王】,随机发牌,最后输出显示每个人各发到什么牌
【提示:可使用数组存放玩家和扑克牌,可使用随机数达到洗牌发牌的随机效果】
整体参考思路:
程序过程为:初始化所有牌---洗牌-----发牌-----展示每人的牌
一维数组Card存放52张牌【不考虑大小王】,二维数组Player存放发牌后四个玩家的牌【如A的牌为Player0---Player0,A的牌为Player1---Player1】
可用三位整数表示一张扑克牌,最高位表示牌的花色,后两位表示点数。
例如:
101,102,...... ,113分别表示红桃A,红桃2......红桃K;
201,202,...... ,213分别表示方块A,方块2......方块K;
301,302,...... ,313分别表示梅花A,梅花2......梅花K;
401,402,...... ,413分别表示黑桃A,黑桃2......黑桃K;

@@@@@@@@@@@@@分割线@@@@@@@@@@@@@

我的代码是: (已修改)

#include<iostream>
#include<string>
#include<cstdlib>
using namespace std;
int main()
{
    int iacnt[4][13];
    for (int h = 0;h < 4;++h)
    {
        for (int f = 0;f < 13;++f)
            iacnt[h][f] = 0;
    }
    int a = 0;
    int j = 0, k = 0;
    int ia[4][13] = {
        { 101,102,103,104,105,106,107,108,109,110,111,112,113 },
        { 201,202,203,204,205,206,207,208,209,210,211,212,213 },
        { 301,302,303,304,305,306,307,308,309,310,311,312,313 },
        { 401,402,403,404,405,406,407,408,409,410,411,412,413 }
    };

    int player[4][13];
//利用两个for循环达到顺序给玩家发牌的目的;
    for (int jcnt = 0;jcnt < 4;++jcnt)
    {
        for (int kcnt = 0;kcnt < 13;++kcnt)
        {
            soso:
            a = rand();
            j = a % 4, k = a % 13;
            if (iacnt[j][k] = 1)
                goto soso; //利用goto语句,使同一张牌发给第二个人的时候重新进行此次for循环
            player[jcnt][kcnt] = ia[j][k];
            iacnt[j][k] = 1;
        }
    }
    for (int m = 0;m < 4;++m)
    {
        for (int n = 0;n < 13;++n)
            cout << player[m][n] << ' ';
    }
    system("pause");
    return 0;
}
天蓬老师天蓬老师2807 天前703

全部回覆(3)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-17 13:46:03

    一眼看得出來的錯誤
    當發牌完成後n沒有加一,n++位置有問題
    其他錯誤得再細看
    if (iacnt [j] [k] == 1 )雙等於

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 13:46:03

    初略看了一眼,你這裡的n從0開始,然後while的判斷條件又是n<53,所以你總共發了53張牌。還有,中間那兩個for循環裡面的jcnt和kcnt沒有改變過,你修改的是j和k,所以會一直在循環裡面執行,這就是你一直沒有輸出的原因了。還有,你的icnt二維陣列從來沒有初始化過,你把他賦給Player有什麼用,沒看懂?最好為你的程式碼加入幾句註解

    回覆
    0
  • 怪我咯

    怪我咯2017-04-17 13:46:03

    都c++了,陣列能用array麼?

    回覆
    0
  • 取消回覆