摘要:描述 Description以下的數(shù)字倒直角三角形是由二個數(shù)確定的:一個數(shù)是行數(shù)R,1<=R<=39,另一個是種子數(shù)S,1<=S<=9。S放在左上角,照著樣例輸出文件的樣子,寫一個程序,根據(jù)輸入的二個數(shù)打印出相應(yīng)的數(shù)字倒直角三角形。 輸入格式 Input Format單獨一行,二個用空格隔開的整數(shù) 輸出格式 Output Format輸出倒直
描述 Description
以下的數(shù)字倒直角三角形是由二個數(shù)確定的:一個數(shù)是行數(shù)R,1<=R<=39,另一個是種子數(shù)S,1<=S<=9。S放在左上角,照著樣例輸出文件的樣子,寫一個程序,根據(jù)輸入的二個數(shù)打印出相應(yīng)的數(shù)字倒直角三角形。
輸入格式 Input Format
單獨一行,二個用空格隔開的整數(shù)
輸出格式 Output Format
輸出倒直角數(shù)字三角形,輸出時數(shù)字與數(shù)字之間不留空格字符。
樣例輸入 Sample Input
6 1
樣例輸出 Sample Output
124727
35838
6949
151
62
3
(由于顯示問題三角形應(yīng)該是右對齊?。。。?/p>
時間限制 Time Limitation
1s
來源 Source
usaco 月賽
一道比較剛的二維數(shù)組的題,對于剛學(xué)數(shù)組沒幾天的我看到這道題其實我是拒絕的,剛看完題我心里就暗想,這TMD是啥,然后再仔細看了看才發(fā)現(xiàn)可以換一種思想來寫這道題
那就是將我們一慣把二位數(shù)組由行輸出的方式轉(zhuǎn)化成由列的方式輸出,這樣問題就可以解決了。
貼出代碼:
#include <iostream> using namespace std; int s,r,a[50][50]; void init() { cin>>r>>s; for(int i=1;i<=r;i++) for(int j=1;j<=i;j++) { a[i][j]=s; //第一個數(shù) if(s<9) //判斷 如果大于9就從1開始 s++; else s=1; } } void work() { for(int j=1;j<=r;j++) //控制列 從列輸出 { for(int l=2;l<=j;l++)//控制行空格 cout<<' '; for(int i=1;i<=r;i++)//控制行 { if(a[i][j]!=0) cout<<a[i][j]; } cout<<endl; } } int main() { init(); work(); return 0; }