程式設計總結
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個符號,不一定能正好組成乙個沙漏。...