打印以下图案:
4 (input)
1
2 3
3 4 5
4 5 6 7
下面代码的一般方法是:
int main ()
{
int row = 1, col, count, N;
input N;
while(row <=N) {
col = 1; count = row ;
while(col<=row){
print count;
col++; count++;
}
row++; newline;
}
return 0;
}
但是我想打印相同的模式,而不使用row作为输入来计数。为此,我的一般思维过程是记录每行的最后一个元素,然后在下一行中生成与第一个元素相同的元素。
我把‘k’作为一个变量来记录每一行中最后一个元素的值;那么它的伪代码如下:
int main ()
{
int row = 1,k =1, col, count, N;
input N;
while(row <=N) {
col = 1; count = k;
while(col<=row){
print count;
col++; k = count; count++;
}
row++; newline;
}
return 0;
}
但这给了我以下模式:
4 (input)
1
1 2
2 3 4
4 5 6 7
有人能帮我打印出原始模式,而不使用行变量作为输入来计数吗?
2条答案
按热度按时间l3zydbqr1#
我想我已经找到解决办法了,虽然我对它不是很有信心。它是有效的,但如果有一个有效的方法来解决这个问题,请一定提出来。
yv5phkfx2#
既然你似乎在学习C++,我想我会让你走上一条更好的道路,向你展示你可以:
r
代表行而不是i
,c
代表列而不是j
)。while
那样)。在编写代码时,请尽量记住以上几点,这样您就可以阅读/理解几年前的代码。
无论如何,结果会是这样的: