1. 程式人生 > >hdu 空心三角形(輸入、輸出格式的問題)

hdu 空心三角形(輸入、輸出格式的問題)

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

注意:目的是第一次輸出圖形與第二次之間,第二次與第三次之間。。有一個空行作為間隔,但是最後一次輸出沒有間隔,第一次輸出前面也沒有間隔



#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;
}