gpt4 book ai didi

c++ - 在 C++ 中嵌套循环

转载 作者:太空宇宙 更新时间:2023-11-04 12:20:48 25 4
gpt4 key购买 nike

我在编写以下函数之前所做的是,我将数字 1 到 52 分配给一副 52 张卡片(在具有四行和 13 列的二维数组中)。现在我想打印卡片持有数字(升序顺序)以一行中有 2 个显示的方式...

void DeckOfCards::deal()  
{
// initialize suit array
static const char *suit[ 4 ] =
{ "Hearts", "Diamonds", "Clubs", "Spades" };

// initialize face array
static const char *face[ 13 ] =
{ "Ace", "Deuce", "Three", "Four", "Five", "Six", "Seven",
"Eight", "Nine", "Ten", "Jack", "Queen", "King" };

// for each of the 52 cards
for ( int card = 1; card <= 52; card++ )
{
// loop through rows of deck
for ( int row = 0; row <= 3; row++ )
{
// loop through columns of deck for current row
for ( int column = 0; column <= 12; column++ )
{
// if slot contains current card, display card
if ( deck[ row ][ column ] == card )
{
cout << setw( 5 ) << right << face[ column ]
<< " of " << setw( 8 ) << left << suit[ row ]
<< ( card % 2 == 0 ? '\n' : '\t' );
} // end if
} // end innermost for
} // end inner for
} // end outer for
} // end function deal

但是如果我改变 for statemants 的顺序,使行在前,然后是列,然后是卡片……我得到的是一个完全不同的输出布局……即一行中没有两个输出....这是完全困惑的...为什么请告诉我?

最佳答案

卡片循环可能不是必需的。相反,在内部循环中,根据行和列计算卡片。

切换行和列循环的顺序预计会改变输出(行主要或列主要)

关于c++ - 在 C++ 中嵌套循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5221134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com