国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

L1-002. 打印沙漏

2019-11-06 06:11:50
字體:
來源:轉載
供稿:網友

本題要求:

你寫個程序把給定的符號打印成沙漏的形狀。例如給定17個“*”,要求按下列格式打印

***** *** * ********

所謂“沙漏形狀”,是指每行輸出奇數個符號;各行符號中心對齊;相鄰兩行符號數差2;符號數先從大到小順序遞減到1,再從小到大順序遞增;首尾符號數相等。

給定任意N個符號,不一定能正好組成一個沙漏。要求打印出的沙漏能用掉盡可能多的符號。

輸入格式:

輸入在一行給出1個正整數N(<=1000)和一個符號,中間以空格分隔。

輸出格式:

首先打印出由給定符號組成的最大的沙漏形狀,最后在一行中輸出剩下沒用掉的符號數。

輸入樣例:

19 *

輸出樣例:

***** *** * ********2

代碼 :

#include<iostream> using namespace std;int main() { int n; char c; cin >> n >> c; int max = 1; int m = (n + 1) / 2; int h = 0; //計算高度和最大值 while (true) { m -= max; if (max + 2 > m) { break; } max += 2; h++; } int now = max; int num = 0; //畫上半部分 for (int j = 0; j <= h; j++) { for (int i = max - now; i > 0; i -= 2) { cout << ' '; } for (int i = now; i > 0; i--) { cout << c; num++; } now -= 2; cout << endl; } //畫下半部分 now = 3; for (int j = 0; j < h; j++) { for (int i = max - now; i > 0; i -= 2) { cout << ' '; } for (int i = now; i > 0; i--) { cout << c; num++; } now += 2; cout << endl; } cout << n - num << endl; return 0; }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 古蔺县| 房产| 宜昌市| 万全县| 正镶白旗| 财经| 冕宁县| 南召县| 昆明市| 大竹县| 东海县| 类乌齐县| 红安县| 武川县| 开封县| 兰坪| 新昌县| 马鞍山市| 屯门区| 政和县| 广水市| 临澧县| 牟定县| 安顺市| 张家界市| 连江县| 边坝县| 小金县| 东平县| 浦北县| 安溪县| 亚东县| 玉山县| 辰溪县| 衡南县| 凭祥市| 都江堰市| 收藏| 克什克腾旗| 尉氏县| 兴安盟|