hdu 空心三角形(輸入、輸出格式的問題)
阿新 • • 發佈:2019-02-18
Problem Description
把一個字元三角形掏空,就能節省材料成本,減輕重量,但關鍵是為了追求另一種視覺效果。在設計的過程中,需要給出各種花紋的材料和大小尺寸的三角形樣板,通過電腦臨時做出來,以便看看效果。
Input
每行包含一個字元和一個整數n(0<n<41),不同的字元表示不同的花紋,整數n表示等腰三角形的高。顯然其底邊長為2n-1。如果遇到@字元,則表示所做出來的樣板三角形已經夠了。
Output 每個樣板三角形之間應空上一行,三角形的中間為空。顯然行末沒有多餘的空格。
Sample Input X 2 A 7 @
Sample Output X XXX A A A A A A A A A A A AAAAAAAAAAAAA
Input
每行包含一個字元和一個整數n(0<n<41),不同的字元表示不同的花紋,整數n表示等腰三角形的高。顯然其底邊長為2n-1。如果遇到@字元,則表示所做出來的樣板三角形已經夠了。
Output 每個樣板三角形之間應空上一行,三角形的中間為空。顯然行末沒有多餘的空格。
Sample Input X 2 A 7 @
Sample Output X XXX A A A A A A A A A A A AAAAAAAAAAAAA
注意:目的是第一次輸出圖形與第二次之間,第二次與第三次之間。。有一個空行作為間隔,但是最後一次輸出沒有間隔,第一次輸出前面也沒有間隔
#include <bits/stdc++.h> using namespace std; int main(){ char a; int num=0; int j=0,k=0; while(cin>>a>>num,a!='@'){ if(k!=0){ //目的是第一次輸出圖形與第二次之間,第二次與第三次之間。。有一個空行作為間隔,但是最後一次輸出沒有間隔,第一次輸出前面也沒有間隔 cout<<endl; } k++; for(int i=1;i<num;i++){ for( j=0;j<num-i;j++){ cout<<" "; } cout<<a; if(i!=1){ for(j=0;j<2*i-3;j++){ cout<<" "; } cout<<a<<endl; }else{ cout<<endl; } } for(j=0;j<2*num-1;j++){ cout<<a; } cout<<endl; } return 0; }