2

分析输出模式并编写打印这种模式的程序的算法。

输入 4
模式:

555​​55
4444
333
22
1

输入 3
模式:

333
22
1

过程(我想出的)

n  = input (“Enter a positive integer”)
r= 0
while r < n 
    c = (n – r) + 1
    while c > 0
        s = n – r
        print s 
        c = c – 1
    end
    r = r + 1
    n = n – 1
    print end l
end

问题:我用 r 表示行,用 c 表示列。第一行的问题出现在 c = (n – r) + 1 中。它使第一行为 n+1,适用于后续行。在试运行时我得到

输入 3
模式:
444
22
1

4

2 回答 2

2

这应该有效:

n = input (“Enter a positive integer”)
while n > 0 
    c = n
    while c > 0
        print n
        c = c – 1
    end
    n = n - 1
    print end l
end

请注意您赋予变量的含义以及如何始终如一地对待它们;)

于 2013-09-15T12:52:59.500 回答
2

为什么要使用while显然是for陈述示例的东西?

n  = input (“Enter a positive integer”)

for(i=n ; i > 0 ; i--)
{
   for(j=0 ;j<i; j++)
   {
     print i;
   }

   print "\n";
}
于 2013-09-15T12:55:39.557 回答