寒假作業1列印沙漏總結

2022-06-27 11:12:11 字數 1095 閱讀 6898

程式設計總結

7-1 列印沙漏 (20 分)

本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個「*」,要求按下列格式列印

*****

****

********

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

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

1)實驗**:

#include

int main(void)

int n,number,temp,a,sum,count,i,j;

char ch;

temp=7;a=3;

scanf("%d %c",&n,&ch);

if(n>1000||n<1) return 0;

if(n=1)else if(n==(temp+(a+2)*2))elsewhile(1);

sum=a;

number=(a/2);

for(i=0;ifor(j=0;jprintf(" ");

for(j=0;jprintf("%c",ch);

printf("\n");

a=a-2;

}for(i=number;i>=0;i--){

for(j=0;jprintf(" ");

for(j=0;jprintf("%c",ch);

printf("\n");

a=a+2;

count=n-temp;

printf("%d",count);

return 0;

2)設計思路:

第一步:首先要定義自己需要的變數,

第二步:觀察完圖形,發現是對稱圖形,要列印漏斗最少需要七個三行;

第三步:要確定列印漏斗所需要的符號數和你給定符號能列印了多少,還剩多少。

第四步:列印漏斗的上部分和下部分,進行換行。

3)遇到的問題:

剛開始判斷不了怎麼列印第二部分,對漏斗形狀的列印不是很熟;

4)解決方法:網上查詢去找到解題思路,請教了大佬。

5)錯誤截圖:

寒假作業1 列印沙漏

7 1 列印沙漏 20 分 本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個 要求按下列格式列印 所謂 沙漏形狀 是指每行輸出奇數個符號 各行符號中心對齊 相鄰兩行符號數差2 符號數先從大到小順序遞減到1,再從小到大順序遞增 首尾符號數相等。給定任意n個符號,不一定能正好組成乙個沙漏。...

寒假作業1(列印沙漏)

本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個 要求按下列格式列印 所謂 沙漏形狀 是指每行輸出奇數個符號 各行符號中心對齊 相鄰兩行符號數差2 符號數先從大到小順序遞減到1,再從小到大順序遞增 首尾符號數相等。給定任意n個符號,不一定能正好組成乙個沙漏。要求列印出的沙漏能用掉盡可能...

2019寒假作業一 PTA7 1 列印沙漏

7 1 列印沙漏 20 分 本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個 要求按下列格式列印 所謂 沙漏形狀 是指每行輸出奇數個符號 各行符號中心對齊 相鄰兩行符號數差2 符號數先從大到小順序遞減到1,再從小到大順序遞增 首尾符號數相等。給定任意n個符號,不一定能正好組成乙個沙漏。...