2017年10月6日 星期五

[C_OT43-易] 繪製菱形(C++)

[C_OT43-易] 繪製菱形

問題描述 
程式語言上機考後,規定不及格的同學必須交一個可以用 * 繪製菱形圖案的程式來補救難堪的分數,平時上課最擅長摸魚打混但交情不錯的小明一把鼻涕一把眼淚的來找你求救。請引導他寫出這一支程式。
輸入說明 
使用者任意輸入一個欲查看的菱形邊長 n
輸出說明 
以 * 畫出一個邊長皆為 n 的菱形
範例
Sample Input:Sample Output
2
*
***
*
  1. #include <iostream>  
  2. using namespace std;  
  3.   
  4. int main() {  
  5.     // [C_OT43-易] 繪製菱形  
  6.     int n, p=0;  
  7.     while(cin >> n)  
  8.     {  
  9.         int sp = (n-1);  
  10.         for(int i = 0;i< n;i++)  
  11.         {  
  12.             for(int x = sp;x > 0;x--)//印上三角形空白  
  13.             {  
  14.                 cout << " ";  
  15.             }  
  16.             sp--;  
  17.             for(int j = 0;j < 1;j++)  
  18.             //印上三角形的第一個"*"  
  19.             {  
  20.                 cout << "*";  
  21.             }  
  22.               
  23.             for(int k = (n-p);k < n;k++)//遞增  
  24.             {  
  25.                 cout << "**";  
  26.             }  
  27.             p++;  
  28.             cout << endl;  
  29.         }  
  30.         sp=1;  
  31.         p=1;  
  32.         for(int c = (n-1);c > 0;c--)  
  33.         {  
  34.             for(int x = 0;x < sp;x++)//印下三角形空白  
  35.             {  
  36.                 cout << " ";  
  37.             }  
  38.             sp++;  
  39.             for(int j = 0;j < 1;j++)//印"*"  
  40.             {  
  41.                 cout << "*";  
  42.                   
  43.             }  
  44.             for(int k = (p+1);k < n;k++)  
  45.             {  
  46.                 cout << "**";  
  47.             }  
  48.             p++;  
  49.             cout << endl;   
  50.         }  
  51.         p=0;  
  52.     }  
  53.     return 0;  
  54. }  

沒有留言:

張貼留言