倒数字三角

2018-06-17 23:35:16来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

 描述 Description

以下的数字倒直角三角形是由二个数确定的:一个数是行数R,1<=R<=39,另一个是种子数S,1<=S<=9。S放在左上角,照着样例输出文件的样子,写一个程序,根据输入的二个数打印出相应的数字倒直角三角形。

 

输入格式 Input Format

单独一行,二个用空格隔开的整数 

 

输出格式 Output Format

输出倒直角数字三角形,输出时数字与数字之间不留空格字符。

 

样例输入 Sample Input

 

6 1

 

样例输出 Sample Output

 

124727
35838
6949
151
62
3

(由于显示问题三角形应该是右对齐!!!)

 

时间限制 Time Limitation

1s

 

来源 Source

usaco 月赛

 

 

    一道比较刚的二维数组的题,对于刚学数组没几天的我看到这道题其实我是拒绝的,刚看完题我心里就暗想,这TMD是啥,然后再仔细看了看才发现可以换一种思想来写这道题

 

那就是将我们一惯把二位数组由行输出的方式转化成由列的方式输出,这样问题就可以解决了。

 

贴出代码:

 1 #include <iostream>
 2 using namespace std;
 3 int s,r,a[50][50];
 4 void init()
 5 {
 6     cin>>r>>s;
 7     for(int i=1;i<=r;i++)
 8         for(int j=1;j<=i;j++)
 9         {
10             a[i][j]=s;     //第一个数
11             if(s<9)        //判断 如果大于9就从1开始
12                 s++;
13             else
14                 s=1;
15         }
16 }
17 void work()
18 {
19     for(int j=1;j<=r;j++)  //控制列 从列输出
20     {
21         for(int l=2;l<=j;l++)//控制行空格
22             cout<<' ';
23         for(int i=1;i<=r;i++)//控制行
24         {
25             if(a[i][j]!=0)   
26                 cout<<a[i][j];
27         }
28         cout<<endl;
29     }
30     
31 }
32 int main()
33 {
34     init();
35     work();
36     return 0;
37 }

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:多视图与文档的交互

下一篇:UVA 12169 Disgruntled Judge 枚举+扩展欧几里得