機試演算法講解 第7題 輸出梯形

2021-09-25 16:50:46 字數 1635 閱讀 6087

/*

問題:輸入高度h,輸出高為h,上底邊圍h的梯形

------------

--------------

----------------

------------------

--------------------

思路:由於多出的底邊x可以設為任意值,不放設x=h

第1行, h h

第2行,列印h-1個空格,1個*,然後列印h個空格,再列印1個* h+2*1

3 h-2 1 h+2*1 1個* h+2*2

4 h-3個空格,1個* h+2*2 1個*

h-1 2 ,1個* h+2*(h-1-2)個空格,即h+2*(h-3),1個*

i h+1-i 1個* h+2*(i-2)個空格,1個* h+2*(i-1)

h 1個空格 ,3h個*

列印第一行時,先列印h個空格,再列印h個*號,

然後列印h個換行符

最後列印長度為2h個的*號

總結公式:

print(*)=

/*printf("%c",'*');

for(i = 1; i <= (h+2*(ilinnum-2)) ; i++)

printf("%c",'*');

*//* for(i = 1;i <= (h+2*(ilinnum-1)) ; i++)

printf("\n");

ilinnum++;

}else if(1==ilinnum)

for(i = 1 ; i <= h ; i++ )

printf("\n");

ilinnum++;

}else if(h==ilinnum)

printf("\n");

ilinnum++;

}//else if

}//while

}//while

system("pause");

getchar();

return 0;}*/

/*樣例輸入:4

輸出: ****

******

********

**********

公式:第一行h個*,前面空 h+2*(h-1)-h個空格= 2*(h-1)個空格

二 h+2個*

i h+2*(i-1)個*,前面空 h+2*(h-1)-[h+2*(i-1)] = 2*(h-i)個空格

h h+2*(h-1)個*

print(*) =

for(i = 1; i <= h+2*(ilinnum-1) ; i++)

ilinnum++;

printf("\n");

} }system("pause");

getchar();

return 0;

}

機試演算法講解 第55題 Piggy Bank

問題 與乙個儲蓄罐,告知空的質量和當前重量,並給定一些錢幣的價值和相應的重量,求儲蓄罐中最少有多少現金。輸入 包含t組測試用例。第一行。每乙個測試用例包含2個整數e和f,表明空儲蓄罐的重量和裝滿錢的重量。10,000g,第二行是每個測試用例,包含乙個整數n 1 n 500 給出了各種硬幣的數量。接下...

機試演算法講解 第58題 輸入外掛程式

輸入外掛程式 scanf快於 cin,在scanf基礎上再次優化,使那些剛超時一點的程式能夠卡金時限範圍。原理 在讀入緩衝中字元的前提下,手動分析字串中輸入的整數 浮點數等我們需要的輸入型別,並將其儲存在變數中 include include include 輸入整數,並將整數儲存在引用變數ret中...

機試演算法講解 第9題 找x

問題 輸入乙個數n,輸入n個數值不同的數,輸入給定值x,輸出x在陣列中的下標,從0開始,若不在陣列中則輸出 1 輸入 2 1 30 輸出 1 思路 用哨兵,從後向前搜尋 參考 計算機考研 機試指南 include include include int main int argc,char ar i...