第一篇:2013藍橋杯 預賽-C高職高專組真題資料
第四屆“藍橋杯”全國軟件專業人才設計與創業大賽選拔賽
C/C++高職高專組
考生須知:
? 考試開始后,選手首先下載題目到本機不被還原的盤符,并使用考場現場公布的解壓密碼解壓試題。
? 考試時間為9:00-13:00,共4個小時。13點整時間截止時,將無法提交答案。選手因考試結束不能提交答案的,責任由選手自負。
? 在考試強制結束前,選手可以主動結束考試(需要身份驗證),結束考試后將無法繼續提交或瀏覽答案。
? 選手可瀏覽自己已經提交的答案。
? 對同一題目,選手可多次提交答案,以最后一次提交的答案為準。? 選手切勿在提交的代碼中書寫“姓名”、“考號”,“院校名”等與身份有關的信息或其它與競賽題目無關的內容,否則成績無效。
? 選手必須通過瀏覽器方式提交自己的答案。選手在其它位置的作答或其它方式提交的答案無效。
? 試題包含三種類型:“結果填空”、“代碼填空”與“程序設計”。
結果填空題:要求選手根據題目描述直接填寫結果。求解方式不限。不要求源代碼。把結果填空的答案直接通過網頁提交即可,不要書寫多余的內容。代碼填空題:要求選手在弄清給定代碼工作原理的基礎上填寫缺失的部分,使得程序邏輯正確、完整。所填寫的代碼不超過一條語句(即中間不能出現分號)。
把代碼填空的答案(僅填空處的答案,不包括題面已存在的代碼或符號)直接通過網頁提交即可,不要書寫多余的內容。
注意選擇自己使用的編譯環境。
使用ANSI C/ANSI C++ 標準,不要依賴操作系統或編譯器提供的特殊函數。程序設計題目:要求選手設計的程序對于給定的輸入能給出正確的輸出結果。考生的程序只有能運行出正確結果才有機會得分。
注意:在評卷時使用的輸入數據與試卷中給出的示例數據可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數據有效。
對于編程題目,要求選手給出的解答完全符合ANSI C++標準,不能使用諸如繪圖、Win32API、中斷調用、硬件操作或與操作系統相關的API。
代碼中允許使用STL類庫,但不能使用MFC或ATL等非ANSI C++標準的類庫。例如,不能使用CString類型(屬于MFC類庫)。
注意: main函數需要返回0 注意: 所有依賴的函數必須明確地在源文件中 #include
所有源碼必須在同一文件中。調試通過后,拷貝提交。提交時,注意選擇所期望的編譯器類型。
1.結果填空(滿分3分)問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目
第1/14
頁 錄中。請先閱讀題目,不限解決問題的方式,只要求提交結果。
必須通過瀏覽器提交答案。題目標題: 猜年齡
美國數學家維納(N.Wiener)智力早熟,11歲就上了大學。他曾在1935~1936年應邀來中國清華大學講學。
一次,他參加某個重要會議,年輕的臉孔引人注目。于是有人詢問他的年齡,他回答說:
“我年齡的立方是個4位數。我年齡的4次方是個6位數。這10個數字正好包含了從0到9這10個數字,每個都恰好出現1次。”
請你推算一下,他當時到底有多年輕。
通過瀏覽器,直接提交他那時的年齡數字。
注意:不要提交解答過程,或其它的說明文字。
答案:18
2.結果填空(滿分6分)問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式,只要求提交結果。
必須通過瀏覽器提交答案。標題: 馬虎的算式
小明是個急性子,上小學的時候經常把老師寫在黑板上的題目抄錯了。
有一次,老師出的題目是:36 x 495 = ?
他卻給抄成了:396 x 45 = ?
但結果卻很戲劇性,他的答案竟然是對的!
因為 36 * 495 = 396 * 45 = 17820
類似這樣的巧合情況可能還有很多,比如:27 * 594 = 297 * 54
假設 a b c d e 代表1~9不同的5個數字(注意是各不相同的數字,且不含0)
能滿足形如: ab * cde = adb * ce 這樣的算式一共有多少種呢?
請你利用計算機的優勢尋找所有的可能,并回答不同算式的種類數。
滿足乘法交換律的算式計為不同的種類,所以答案肯定是個偶數。
答案直接通過瀏覽器提交。
第2/14
頁 注意:只提交一個表示最終統計種類數的數字,不要提交解答過程或其它多余的內容。
答案:3
3.結果填空(滿分8分)問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式,只要求提交結果。
必須通過瀏覽器提交答案。標題: 振興中華
小明參加了學校的趣味運動會,其中的一個項目是:跳格子。
地上畫著一些格子,每個格子里寫一個字,如下所示:(也可參見p1.jpg)
從我做起振 我做起振興 做起振興中 起振興中華
比賽時,先站在左上角的寫著“從”字的格子里,可以橫向或縱向跳到相鄰的格子里,但不能跳到對角的格子或其它位置。一直要跳到“華”字結束。
要求跳過的路線剛好構成“從我做起振興中華”這句話。
請你幫助小明算一算他一共有多少種可能的跳躍路線呢?
答案是一個整數,請通過瀏覽器直接提交該數字。
注意:不要提交解答過程,或其它輔助說明類的內容。
4.結果填空(滿分13分)問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式,只要求提交結果。
必須通過瀏覽器提交答案。標題: 幻方填空
第3/14
頁
幻方是把一些數字填寫在方陣中,使得行、列、兩條對角線的數字之和都相等。
歐洲最著名的幻方是德國數學家、畫家迪勒創作的版畫《憂郁》中給出的一個4階幻方。
他把1,2,3,...16 這16個數字填寫在4 x 4的方格中。
如圖p1.jpg所示,即: ? ? 13 ? ? 11 ? 10 9 ? ? * ? 15 ? 1
14
表中有些數字已經顯露出來,還有些用?和*代替。
請你計算出? 和 * 所代表的數字。并把 * 所代表的數字作為本題答案提交。
答案是一個整數,請通過瀏覽器直接提交該數字。注意:不要提交解答過程,或其它輔助說明類的內容。
5.代碼填空(滿分5分)問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式。
只要求填寫缺失的代碼部分,千萬不要畫蛇添足,填寫多余的已有代碼或符號。必須通過瀏覽器提交答案。注意選擇自己使用的編譯環境。
題目標題:公約數公倍數
第4/14
頁
我們經常會用到求兩個整數的最大公約數和最小公倍數的功能。
下面的程序給出了一種算法。
函數 myfunc 接受兩個正整數a,b
經過運算后打印出 它們的最大公約數和最小公倍數。
此時,調用 myfunc(15,20)
將會輸出: 3 60
// 交換數值
void swap(int *a,int *b){
int temp;
temp=*a;
*a=*b;
*b=temp;}
void myfunc(int a, int b){
int m,n,r;
if(a
m=a;n=b;r=a%b;
while(r!=0)
{
a=b;b=r;
r=a%b;
}
printf(“%dn”,b);// 最大公約數
printf(“%dn”,______(m/b)*(n/b)*b_________);// 最小公倍數
}
請分析代碼邏輯,并推測劃線處的代碼,通過網頁提交。
注意:僅把缺少的代碼作為答案,千萬不要填寫多余的代碼、符號或說明文字!
6.代碼填空(滿分8分)問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目
第5/14
頁 錄中。請先閱讀題目,不限解決問題的方式。
只要求填寫缺失的代碼部分,千萬不要畫蛇添足,填寫多余的已有代碼或符號。必須通過瀏覽器提交答案。注意選擇自己使用的編譯環境。
標題:三部排序
一般的排序有許多經典算法,如快速排序、希爾排序等。
但實際應用時,經常會或多或少有一些特殊的要求。我們沒必要套用那些經典算法,可以根據實際情況建立更好的解法。
比如,對一個整型數組中的數字進行分類排序:
使得負數都靠左端,正數都靠右端,0在中部。注意問題的特點是:負數區域和正數區域內并不要求有序。可以利用這個特點通過1次線性掃描就結束戰斗!
以下的程序實現了該目標。
其中x指向待排序的整型數組,len是數組的長度。
void sort3p(int* x, int len){ int p = 0;int left = 0;int right = len-1;
while(p<=right){
if(x[p]<0){
int t = x[left];
x[left] = x[p];
x[p] = t;
left++;
p++;
}
else if(x[p]>0){
int t = x[right];
x[right] = x[p];
x[p] = t;
right--;
}
else{
____ p++_____;//填空位置
}
第6/14
頁 }
}
如果給定數組:
25,18,-2,0,16,-5,33,21,0,19,-16,25,-3,0
則排序后為:
-3,-2,-16,-5,0,0,0,21,19,33,25,16,18,25
請分析代碼邏輯,并推測劃線處的代碼,通過網頁提交
注意:僅把缺少的代碼作為答案,千萬不要填寫多余的代碼、符號或說明文字!
7.程序設計(滿分5分)
問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。
注意:在評卷時使用的輸入數據與試卷中給出的示例數據可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數據有效。
仔細閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多余的內容,例如:“請您輸入xx數據:”。
建議仔細閱讀示例,不要想當然!
程序處理完一個用例的數據后,立即退出(return 0),千萬不要循環等待下一個用例的輸入。
程序必須使用標準輸入、標準輸出,以便于機器評卷時重定向。
對于編程題目,要求選手給出的解答完全符合ANSI C++標準,不能使用諸如繪圖、Win32API、中斷調用、硬件操作或與操作系統相關的API。
代碼中允許使用STL類庫,但不能使用MFC或ATL等非ANSI C++標準的類庫。例如,不能使用CString類型(屬于MFC類庫)。
注意: main函數結尾需要return 0 注意: 所有依賴的函數必須明確地在源文件中 #include
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。提交時,注意選擇所期望的編譯器類型。標題:核桃的數量
小張是軟件項目經理,他帶領3個開發組。工期緊,今天都在加班呢。為鼓舞士氣,小張打算給每個組發一袋核桃(據傳言能補腦)。他的要求是:
1.各組的核桃數量必須相同
2.各組內必須能平分核桃(當然是不能打碎的)
3.盡量提供滿足1,2條件的最小數量(節約鬧革命嘛)
第7/14
頁
程序從標準輸入讀入: a b c a,b,c都是正整數,表示每個組正在加班的人數,用空格分開(a,b,c<30)
程序輸出:
一個正整數,表示每袋核桃的數量。
例如: 用戶輸入: 2 4 5
程序輸出: 20
再例如: 用戶輸入: 3 1 1
程序輸出: 3
8.程序設計(滿分12分)
問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。
注意:在評卷時使用的輸入數據與試卷中給出的示例數據可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數據有效。
仔細閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多余的內容,例如:“請您輸入xx數據:”。
建議仔細閱讀示例,不要想當然!
程序處理完一個用例的數據后,立即退出(return 0),千萬不要循環等待下一個用例的輸入。
程序必須使用標準輸入、標準輸出,以便于機器評卷時重定向。
對于編程題目,要求選手給出的解答完全符合ANSI C++標準,不能使用諸如繪圖、Win32API、中斷調用、硬件操作或與操作系統相關的API。
代碼中允許使用STL類庫,但不能使用MFC或ATL等非ANSI C++標準的類庫。例如,不能使用CString類型(屬于MFC類庫)。
注意: main函數結尾需要return 0 注意: 所有依賴的函數必須明確地在源文件中 #include
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。提交時,注意選擇所期望的編譯器類型。
第8/14
頁 題目標題:打印十字圖
小明為某機構設計了一個十字型的徽標(并非紅十字會啊),如下所示(可參見p1.jpg)
$$$$$$$$$$$$$
$
$
$$$ $$$$$$$$$ $$$
$
$
$
$
$ $$$ $$$$$ $$$ $
$ $
$
$
$ $
$ $ $$$ $ $$$ $ $
$ $ $
$
$ $ $
$ $ $ $$$$$ $ $ $
$ $ $
$
$ $ $
$ $ $$$ $ $$$ $ $
$ $
$
$
$ $
$ $$$ $$$$$ $$$ $
$
$
$
$
$$$ $$$$$$$$$ $$$
$
$
$$$$$$$$$$$$$
對方同時也需要在電腦dos窗口中以字符的形式輸出該標志,并能任意控制層數。
為了能準確比對空白的數量,程序要求對行中的空白以句點(.)代替。
輸入格式:
一個正整數 n(n<30)表示要求打印圖形的層數
輸出:
對應包圍層數的該標志。
例如: 用戶輸入: 1 程序應該輸出:..$$$$$....$...$..$$$.$.$$$ $...$...$ $.$$$$$.$ $...$...$ $$$.$.$$$
第9/14 頁
..$...$....$$$$$..再例如: 用戶輸入: 3 程序應該輸出:..$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$ $...$.......$...$ $.$$$.$$$$$.$$$.$ $.$...$...$...$.$ $.$.$$$.$.$$$.$.$ $.$.$...$...$.$.$ $.$.$.$$$$$.$.$.$ $.$.$...$...$.$.$ $.$.$$$.$.$$$.$.$ $.$...$...$...$.$ $.$$$.$$$$$.$$$.$ $...$.......$...$ $$$.$$$$$$$$$.$$$..$...........$....$$$$$$$$$$$$$..請仔細觀察樣例,尤其要注意句點的數量和輸出位置。第10/14 頁
9.程序設計(滿分15分)
問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。
注意:在評卷時使用的輸入數據與試卷中給出的示例數據可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數據有效。
仔細閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多余的內容,例如:“請您輸入xx數據:”。
建議仔細閱讀示例,不要想當然!
程序處理完一個用例的數據后,立即退出(return 0),千萬不要循環等待下一個用例的輸入。
程序必須使用標準輸入、標準輸出,以便于機器評卷時重定向。
對于編程題目,要求選手給出的解答完全符合ANSI C++標準,不能使用諸如繪圖、Win32API、中斷調用、硬件操作或與操作系統相關的API。
代碼中允許使用STL類庫,但不能使用MFC或ATL等非ANSI C++標準的類庫。例如,不能使用CString類型(屬于MFC類庫)。
注意: main函數結尾需要return 0 注意: 所有依賴的函數必須明確地在源文件中 #include
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。提交時,注意選擇所期望的編譯器類型。
第11/14
頁 標題:帶分數
可以表示為帶分數的形式:100 = 3 + 69258 / 714
還可以表示為:100 = 82 + 3546 / 197
注意特征:帶分數中,數字1~9分別出現且只出現一次(不包含0)。
類似這樣的帶分數,100 有 11 種表示法。
題目要求:
從標準輸入讀入一個正整數N(N<1000*1000)程序輸出該數字用數碼1~9不重復不遺漏地組成帶分數表示的全部種數。注意:不要求輸出每個表示,只統計有多少表示法!
例如: 用戶輸入: 100 程序輸出: 11
再例如: 用戶輸入: 105 程序輸出: 6
10.程序設計(滿分25分)
問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。
注意:在評卷時使用的輸入數據與試卷中給出的示例數據可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數據有效。
仔細閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多余的內容,例如:“請您輸入xx數據:”。
建議仔細閱讀示例,不要想當然!
程序處理完一個用例的數據后,立即退出(return 0),千萬不要循環等待下一個用例的輸入。
程序必須使用標準輸入、標準輸出,以便于機器評卷時重定向。
對于編程題目,要求選手給出的解答完全符合ANSI C++標準,不能使用諸如繪圖、Win32API、中斷調用、硬件操作或與操作系統相關的API。
第12/14
頁 代碼中允許使用STL類庫,但不能使用MFC或ATL等非ANSI C++標準的類庫。例如,不能使用CString類型(屬于MFC類庫)。
注意: main函數結尾需要return 0 注意: 所有依賴的函數必須明確地在源文件中 #include
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。提交時,注意選擇所期望的編譯器類型。標題:剪格子
如圖p1.jpg所示,3 x 3 的格子中填寫了一些整數。
我們沿著圖中的紅色線剪開,得到兩個部分,每個部分的數字和都是60。
本題的要求就是請你編程判定:對給定的m x n 的格子中的整數,是否可以分割為兩個部分,使得這兩個區域的數字和相等。
如果存在多種解答,請輸出包含左上角格子的那個區域包含的格子的最小數目。
如果無法分割,則輸出 0
程序輸入輸出格式要求:
程序先讀入兩個整數 m n 用空格分割(m,n<10)表示表格的寬度和高度
接下來是n行,每行m個正整數,用空格分開。每個整數不大于10000 程序輸出:在所有解中,包含左上角的分割區可能包含的最小的格子數目。
例如: 用戶輸入: 3 3 10 1 52 20 30 1 1 2 3
則程序輸出: 3
第13/14
頁
再例如: 用戶輸入: 4 3 1 1 1 1 1 30 80 2 1 1 1 100
則程序輸出: 10
(參見p2.jpg)
第14/14 頁
第二篇:2013年藍橋杯全國軟件大賽預賽真題-Java專科
標題: 猜年齡
美國數學家維納(N.Wiener)智力早熟,11歲就上了大學。他曾在1935~1936年應邀來中國清華大學講學。
一次,他參加某個重要會議,年輕的臉孔引人注目。于是有人詢問他的年齡,他回答說:
“我年齡的立方是個4位數。我年齡的4次方是個6位數。這10個數字正好包含了從0到9這10個數字,每個都恰好出現1次。”
請你推算一下,他當時到底有多年輕。
通過瀏覽器,直接提交他那時的年齡數字。
注意:不要提交解答過程,或其它的說明文字。標題: 組素數
素數就是不能再進行等分的數。比如:2 3 5 7 11 等。
= 3 * 3 說明它可以3等分,因而不是素數。
我們國家在1949年建國。如果只給你 1 9 4 9 這4個數字卡片,可以隨意擺放它們的先后順序(但卡片不能倒著擺放啊,我們不是在腦筋急轉彎!),那么,你能組成多少個4位的素數呢?
比如:1949,4919 都符合要求。
請你提交:能組成的4位素數的個數,不要羅列這些素數!
注意:不要提交解答過程,或其它的輔助說明文字。
標題: 馬虎的算式
小明是個急性子,上小學的時候經常把老師寫在黑板上的題目抄錯了。
有一次,老師出的題目是:36 x 495 = ?
他卻給抄成了:396 x 45 = ?
但結果卻很戲劇性,他的答案竟然是對的!
因為 36 * 495 = 396 * 45 = 17820
類似這樣的巧合情況可能還有很多,比如:27 * 594 = 297 * 54
假設 a b c d e 代表1~9不同的5個數字(注意是各不相同的數字,且不含0)
能滿足形如: ab * cde = adb * ce 這樣的算式一共有多少種呢?
請你利用計算機的優勢尋找所有的可能,并回答不同算式的種類數。
滿足乘法交換律的算式計為不同的種類,所以答案肯定是個偶數。
答案直接通過瀏覽器提交。
注意:只提交一個表示最終統計種類數的數字,不要提交解答過程或其它多余的內容。標題: 第39級臺階
小明剛剛看完電影《第39級臺階》,離開電影院的時候,他數了數禮堂前的臺階數,恰好是39級!
站在臺階前,他突然又想著一個問題:
如果我每一步只能邁上1個或2個臺階。先邁左腳,然后左右交替,最后一步是邁右腳,也就是說一共要走偶數步。那么,上完39級臺階,有多少種不同的上法呢?
請你利用計算機的優勢,幫助小明尋找答案。
要求提交的是一個整數。
注意:不要提交解答過程,或其它的輔助說明文字。標題:有理數類
有理數就是可以表示為兩個整數的比值的數字。一般情況下,我們用近似的小數表示。但有些時候,不允許出現誤差,必須用兩個整數來表示一個有理數。
這時,我們可以建立一個“有理數類”,下面的代碼初步實現了這個目標。為了簡明,它只提供了加法和乘法運算。
class Rational { private long ra;private long rb;
private long gcd(long a, long b){
if(b==0)return a;
return gcd(b,a%b);} public Rational(long a, long b){
ra = a;
rb = b;
long k = gcd(ra,rb);
if(k>1){ //需要約分
ra /= k;
rb /= k;
} } // 加法
public Rational add(Rational x){
return ________________________________________;//填空位置
} // 乘法
public Rational mul(Rational x){
return new Rational(ra*x.ra, rb*x.rb);} public String toString(){
if(rb==1)return “" + ra;
return ra + ”/“ + rb;} }
使用該類的示例:
Rational a = new Rational(1,3);Rational b = new Rational(1,6);Rational c = a.add(b);System.out.println(a + ”+“ + b + ”=" + c);
請分析代碼邏輯,并推測劃線處的代碼,通過網頁提交
注意:僅把缺少的代碼作為答案,千萬不要填寫多余的代碼、符號或說明文字!
標題:逆波蘭表達式
正常的表達式稱為中綴表達式,運算符在中間,主要是給人閱讀的,機器求解并不方便。
例如:3 + 5 *(2 + 6)* 三種運算符
2.每個運算數都是一個小于10的非負整數
下面的程序對一個逆波蘭表示串進行求值。
其返回值為一個數組:其中第一元素表示求值結果,第二個元素表示它已解析的字符數。
static int[] evaluate(String x){
if(x.length()==0)return new int[] {0,0};
char c = x.charAt(0);
if(c>='0' && c<='9')return new int[] {c-'0',1};
int[] v1 = evaluate(x.substring(1));
int[] v2 = __________________________________________;//填空位置
int v = Integer.MAX_VALUE;
if(c=='+')v = v1[0] + v2[0];
if(c=='*')v = v1[0] * v2[0];
if(c=='-')v = v1[0]-v2[0];
return new int[] {v,1+v1[1]+v2[1]};}
請分析代碼邏輯,并推測劃線處的代碼,通過網頁提交。
注意:僅把缺少的代碼作為答案,千萬不要填寫多余的代碼、符號或說明文字!
標題:核桃的數量
小張是軟件項目經理,他帶領3個開發組。工期緊,今天都在加班呢。為鼓舞士氣,小張打算給每個組發一袋核桃(據傳言能補腦)。他的要求是:
1.各組的核桃數量必須相同
2.各組內必須能平分核桃(當然是不能打碎的)
3.盡量提供滿足1,2條件的最小數量(節約鬧革命嘛)
程序從標準輸入讀入: a b c a,b,c都是正整數,表示每個組正在加班的人數,用空格分開(a,b,c<30)
程序輸出:
一個正整數,表示每袋核桃的數量。
例如: 用戶輸入: 2 4 5
程序輸出: 20
再例如: 用戶輸入: 3 1 1
程序輸出: 3
資源約定:
峰值內存消耗(含虛擬機)< 64M CPU消耗
< 1000ms
請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內容。
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。注意:不要使用package語句。不要使用jdk1.6及以上版本的特性。注意:主類的名字必須是:Main,否則按無效代碼處理。
標題:打印十字圖
小明為某機構設計了一個十字型的徽標(并非紅十字會啊),如下所示(可參見p1.jpg)
$$$$$$$$$$$$$
$
$
$$$ $$$$$$$$$ $$$
$
$
$
$
$ $$$ $$$$$ $$$ $
$ $
$
$
$ $
$ $ $$$ $ $$$ $ $
$ $ $
$
$ $ $
$ $ $ $$$$$ $ $ $
$ $ $
$
$ $ $
$ $ $$$ $ $$$ $ $
$ $
$
$
$ $
$ $$$ $$$$$ $$$ $
$
$
$
$
$$$ $$$$$$$$$ $$$
$
$
$$$$$$$$$$$$$
對方同時也需要在電腦dos窗口中以字符的形式輸出該標志,并能任意控制層數。
為了能準確比對空白的數量,程序要求對行中的空白以句點(.)代替。
輸入格式:
一個正整數 n(n<30)表示要求打印圖形的層數
輸出:
對應包圍層數的該標志。
例如: 用戶輸入: 1 程序應該輸出:..$$$$$....$...$..$$$.$.$$$ $...$...$ $.$$$$$.$ $...$...$ $$$.$.$$$..$...$....$$$$$..再例如: 用戶輸入: 3 程序應該輸出:..$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$ $...$.......$...$ $.$$$.$$$$$.$$$.$ $.$...$...$...$.$ $.$.$$$.$.$$$.$.$ $.$.$...$...$.$.$ $.$.$.$$$$$.$.$.$ $.$.$...$...$.$.$ $.$.$$$.$.$$$.$.$ $.$...$...$...$.$ $.$$$.$$$$$.$$$.$ $...$.......$...$ $$$.$$$$$$$$$.$$$..$...........$....$$$$$$$$$$$$$..請仔細觀察樣例,尤其要注意句點的數量和輸出位置。
資源約定:
峰值內存消耗(含虛擬機)< 64M CPU消耗
< 1000ms
請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內容。
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。注意:不要使用package語句。不要使用jdk1.6及以上版本的特性。注意:主類的名字必須是:Main,否則按無效代碼處理。
p1.jpg
標題:買不到的數目
小明開了一家糖果店。他別出心裁:把水果糖包成4顆一包和7顆一包的兩種。糖果不能拆包賣。
小朋友來買糖的時候,他就用這兩種包裝來組合。當然有些糖果數目是無法組合出來的,比如要買 10 顆糖。
你可以用計算機測試一下,在這種包裝情況下,最大不能買到的數量是17。大于17的任何數字都可以用4和7組合出來。
本題的要求就是在已知兩個包裝的數量時,求最大不能組合出的數字。
輸入:
兩個正整數,表示每種包裝中糖的顆數(都不多于1000)
要求輸出:
一個正整數,表示最大不能買到的糖數
例如: 用戶輸入: 4 7 程序應該輸出: 17
再例如: 用戶輸入: 3 5 程序應該輸出: 7
資源約定:
峰值內存消耗(含虛擬機)< 64M CPU消耗
< 3000ms
請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內容。
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。注意:不要使用package語句。不要使用jdk1.6及以上版本的特性。注意:主類的名字必須是:Main,否則按無效代碼處理。
標題:剪格子
如圖p1.jpg所示,3 x 3 的格子中填寫了一些整數。
我們沿著圖中的紅色線剪開,得到兩個部分,每個部分的數字和都是60。
本題的要求就是請你編程判定:對給定的m x n 的格子中的整數,是否可以分割為兩個部分,使得這兩個區域的數字和相等。
如果存在多種解答,請輸出包含左上角格子的那個區域包含的格子的最小數目。
如果無法分割,則輸出 0
程序輸入輸出格式要求:
程序先讀入兩個整數 m n 用空格分割(m,n<10)表示表格的寬度和高度
接下來是n行,每行m個正整數,用空格分開。每個整數不大于10000 程序輸出:在所有解中,包含左上角的分割區可能包含的最小的格子數目。
例如: 用戶輸入: 3 3 10 1 52 20 30 1 1 2 3
則程序輸出: 3
再例如: 用戶輸入: 4 3 1 1 1 1 1 30 80 2 1 1 1 100
則程序輸出: 10
(參見p2.jpg)
資源約定:
峰值內存消耗(含虛擬機)< 64M CPU消耗
< 5000ms
請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內容。
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。注意:不要使用package語句。不要使用jdk1.6及以上版本的特性。注意:主類的名字必須是:Main,否則按無效代碼處理。
第三篇:2013第四屆藍橋杯大賽真題(高職組)
題目1標題: 猜年齡
美國數學家維納(N.Wiener)智力早熟,11歲就上了大學。他曾在1935~1936年應邀來中國清華大學講學。
一次,他參加某個重要會議,年輕的臉孔引人注目。于是有人詢問他的年齡,他回答說:
“我年齡的立方是個4位數。我年齡的4次方是個6位數。這10個數字正好包含了從0到9這10個數字,每個都恰好出現1次。”
請你推算一下,他當時到底有多年輕。
通過瀏覽器,直接提交他那時的年齡數字。
注意:不要提交解答過程,或其它的說明文字。
2標題: 馬虎的算式
小明是個急性子,上小學的時候經常把老師寫在黑板上的題目抄錯了。
有一次,老師出的題目是:36 x 495 = ?
他卻給抄成了:396 x 45 = ?
但結果卻很戲劇性,他的答案竟然是對的!
因為 36 * 495 = 396 * 45 = 17820
類似這樣的巧合情況可能還有很多,比如:27 * 594 = 297 * 54
假設 a b c d e 代表1~9不同的5個數字(注意是各不相同的數字,且不含0)
能滿足形如:ab * cde = adb * ce這樣的算式一共有多少種呢?
請你利用計算機的優勢尋找所有的可能,并回答不同算式的種類數。
滿足乘法交換律的算式計為不同的種類,所以答案肯定是個偶數。
答案直接通過瀏覽器提交。
注意:只提交一個表示最終統計種類數的數字,不要提交解答過程或其它多余的內容。3 標題: 振興中華
小明參加了學校的趣味運動會,其中的一個項目是:跳格子。
地上畫著一些格子,每個格子里寫一個字,如下所示:(也可參見p1.jpg)
從我做起振 我做起振興 做起振興中 起振興中華
比賽時,先站在左上角的寫著“從”字的格子里,可以橫向或縱向跳到相鄰的格子里,但不能跳到對角的格子或其它位置。一直要跳到“華”字結束。
要求跳過的路線剛好構成“從我做起振興中華”這句話。
請你幫助小明算一算他一共有多少種可能的跳躍路線呢?
答案是一個整數,請通過瀏覽器直接提交該數字。注意:不要提交解答過程,或其它輔助說明類的內容。標題: 幻方填空
幻方是把一些數字填寫在方陣中,使得行、列、兩條對角線的數字之和都相等。
歐洲最著名的幻方是德國數學家、畫家迪勒創作的版畫《憂郁》中給出的一個4階幻方。
他把1,2,3,...16 這16個數字填寫在4 x 4的方格中。
如圖p1.jpg所示,即: 16 ? ? 13 ? ? 11 ? 9 ? ? * ? 15 ? 1
表中有些數字已經顯露出來,還有些用?和*代替。
請你計算出? 和 * 所代表的數字。并把 * 所代表的數字作為本題答案提交。
答案是一個整數,請通過瀏覽器直接提交該數字。注意:不要提交解答過程,或其它輔助說明類的內容。
題目標題:公約數公倍數
我們經常會用到求兩個整數的最大公約數和最小公倍數的功能。
下面的程序給出了一種算法。
函數myfunc接受兩個正整數a,b
經過運算后打印出它們的最大公約數和最小公倍數。
此時,調用myfunc(15,20)
將會輸出: 5 60 // 交換數值
void swap(int *a,int *b){ int temp;temp=*a;
*a=*b;
*b=temp;}
voidmyfunc(int a, int b){ intm,n,r;
if(a
m=a;n=b;r=a%b;while(r!=0)
{
a=b;b=r;
r=a%b;
} printf(“%dn”,b);// 最大公約數
printf(“%dn”, ____________________________________);// 最小公倍數 }
請分析代碼邏輯,并推測劃線處的代碼,通過網頁提交。
注意:僅把缺少的代碼作為答案,千萬不要填寫多余的代碼、符號或說明文字!
標題:三部排序
一般的排序有許多經典算法,如快速排序、希爾排序等。
但實際應用時,經常會或多或少有一些特殊的要求。我們沒必要套用那些經典算法,可以根據實際情況建立更好的解法。
比如,對一個整型數組中的數字進行分類排序:
使得負數都靠左端,正數都靠右端,0在中部。注意問題的特點是:負數區域和正數區域內并不要求有序。可以利用這個特點通過1次線性掃描就結束戰斗!
以下的程序實現了該目標。
其中x指向待排序的整型數組,len是數組的長度。
void sort3p(int* x, intlen){ int p = 0;int left = 0;int right = len-1;
while(p<=right){
if(x[p]<0){
int t = x[left];
x[left] = x[p];
x[p] = t;
left++;
p++;
}
else if(x[p]>0){
int t = x[right];
x[right] = x[p];
x[p] = t;
right--;
}
else{
__________________________;//填空位置
} }
}
如果給定數組:
25,18,-2,0,16,-5,33,21,0,19,-16,25,-3,0 則排序后為:
-3,-2,-16,-5,0,0,0,21,19,33,25,16,18,25
請分析代碼邏輯,并推測劃線處的代碼,通過網頁提交
注意:僅把缺少的代碼作為答案,千萬不要填寫多余的代碼、符號或說明文字!
標題:核桃的數量
小張是軟件項目經理,他帶領3個開發組。工期緊,今天都在加班呢。為鼓舞士氣,小張打算給每個組發一袋核桃(據傳言能補腦)。他的要求是:
1.各組的核桃數量必須相同
2.各組內必須能平分核桃(當然是不能打碎的)
3.盡量提供滿足1,2條件的最小數量(節約鬧革命嘛)
程序從標準輸入讀入: a b c a,b,c都是正整數,表示每個組正在加班的人數,用空格分開(a,b,c<30)
程序輸出:
一個正整數,表示每袋核桃的數量。
例如: 用戶輸入: 2 4 5
程序輸出: 20
再例如: 用戶輸入: 3 1 1
程序輸出: 3
資源約定:
峰值內存消耗(含虛擬機)< 64M CPU消耗< 1000ms
請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...”的多余內容。
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。
注意: main函數需要返回0 注意: 只使用ANSI C/ANSI C++ 標準,不要調用依賴于編譯環境或操作系統的特殊函數。注意: 所有依賴的函數必須明確地在源文件中 #include
提交時,注意選擇所期望的編譯器類型。8 題目標題:打印十字圖
小明為某機構設計了一個十字型的徽標(并非紅十字會啊),如下所示(可參見p1.jpg)
$$$$$$$$$$$$$
$
$
$$$ $$$$$$$$$ $$$
$
$
$
$
$ $$$ $$$$$ $$$ $
$ $
$
$
$ $
$ $ $$$ $ $$$ $ $
$ $ $
$
$ $ $
$ $ $ $$$$$ $ $ $
$ $ $
$
$ $ $
$ $ $$$ $ $$$ $ $
$ $
$
$
$ $
$ $$$ $$$$$ $$$ $
$
$
$
$
$$$ $$$$$$$$$ $$$
$
$
$$$$$$$$$$$$$
對方同時也需要在電腦dos窗口中以字符的形式輸出該標志,并能任意控制層數。
為了能準確比對空白的數量,程序要求對行中的空白以句點(.)代替。
輸入格式:
一個正整數 n(n<30)表示要求打印圖形的層數
輸出:
對應包圍層數的該標志。
例如: 用戶輸入: 1 程序應該輸出:..$$$$$....$...$..$$$.$.$$$ $...$...$ $.$$$$$.$ $...$...$ $$$.$.$$$..$...$....$$$$$..再例如: 用戶輸入: 3 程序應該輸出:..$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$ $...$.......$...$ $.$$$.$$$$$.$$$.$ $.$...$...$...$.$ $.$.$$$.$.$$$.$.$ $.$.$...$...$.$.$ $.$.$.$$$$$.$.$.$ $.$.$...$...$.$.$ $.$.$$$.$.$$$.$.$ $.$...$...$...$.$ $.$$$.$$$$$.$$$.$ $...$.......$...$ $$$.$$$$$$$$$.$$$..$...........$....$$$$$$$$$$$$$..請仔細觀察樣例,尤其要注意句點的數量和輸出位置。
資源約定:
峰值內存消耗< 64M CPU消耗< 1000ms
請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...”的多余內容。
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。
注意: main函數需要返回0 注意: 只使用ANSI C/ANSI C++ 標準,不要調用依賴于編譯環境或操作系統的特殊函數。注意: 所有依賴的函數必須明確地在源文件中 #include
提交時,注意選擇所期望的編譯器類型。標題:帶分數
可以表示為帶分數的形式:100 = 3 + 69258 / 714
還可以表示為:100 = 82 + 3546 / 197
注意特征:帶分數中,數字1~9分別出現且只出現一次(不包含0)。
類似這樣的帶分數,100 有 11 種表示法。
題目要求:
從標準輸入讀入一個正整數N(N<1000*1000)程序輸出該數字用數碼1~9不重復不遺漏地組成帶分數表示的全部種數。注意:不要求輸出每個表示,只統計有多少表示法!
例如: 用戶輸入: 100 程序輸出: 11
再例如: 用戶輸入: 105 程序輸出: 6
資源約定:
峰值內存消耗< 64M CPU消耗< 3000ms
請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...”的多余內容。
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。
注意: main函數需要返回0 注意: 只使用ANSI C/ANSI C++ 標準,不要調用依賴于編譯環境或操作系統的特殊函數。注意: 所有依賴的函數必須明確地在源文件中 #include
提交時,注意選擇所期望的編譯器類型。
標題:剪格子
如圖p1.jpg所示,3 x 3 的格子中填寫了一些整數。
我們沿著圖中的紅色線剪開,得到兩個部分,每個部分的數字和都是60。
本題的要求就是請你編程判定:對給定的m x n 的格子中的整數,是否可以分割為兩個部分,使得這兩個區域的數字和相等。
如果存在多種解答,請輸出包含左上角格子的那個區域包含的格子的最小數目。如果無法分割,則輸出 0
程序輸入輸出格式要求:
程序先讀入兩個整數 m n 用空格分割(m,n<10)表示表格的寬度和高度
接下來是n行,每行m個正整數,用空格分開。每個整數不大于10000 程序輸出:在所有解中,包含左上角的分割區可能包含的最小的格子數目。
例如: 用戶輸入: 3 3 10 1 52 20 30 1 1 2 3
則程序輸出: 3
再例如: 用戶輸入: 4 3 1 1 1 1 1 30 80 2 1 1 1 100
則程序輸出: 10
(參見p2.jpg)
資源約定:
峰值內存消耗< 64M CPU消耗< 5000ms
請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...”的多余內容。
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。
注意: main函數需要返回0 注意: 只使用ANSI C/ANSI C++ 標準,不要調用依賴于編譯環境或操作系統的特殊函數。注意: 所有依賴的函數必須明確地在源文件中 #include
提交時,注意選擇所期望的編譯器類型。
第四篇:第五屆藍橋杯校內選拔賽試題C組
第五屆“藍橋杯”全國軟件和信息技術專業人才大賽
校內選拔賽試題(C/C++組)
第一部分:準備工作:
1、在g:盤中建立一個以自己“學號+姓名”命名的考生文件夾。把填空題答案文件和所有的源程序文件保存到此考生文件夾下。如:
學號:123456,姓名:張三,則考生文件夾為:123456張三
2、答題時:
(1)填空題的答案全部寫在一個記事本(.txt)文件中,文件名為“tk_姓名的首字母”。如:
姓名:張三,則文件名為“tk_zs.txt”
(2)編程題,每個小題一個源文件,每道題的源程序文件名為:“姓名的首字母+題號”。如:
姓名:張三,第1小題,源程序文件名為“zs1.c”或 “zs1.cpp”
3、答題結束時,請把考生文件夾復制到g:中。
第二部分:試題
一、填空題(每空5分,共50分)
1、貪吃的猴子
有一只猴子,第一天摘了若干個桃子,當即吃了一半,但還覺得不過癮,就又多吃了一個。第2天早上又將剩下的桃子吃掉一半,還是覺得不過癮,就又多吃了兩個。以后每天早上都吃了前一天剩下的一半加天數個(例如,第5天吃了前一天剩下的一般加5個)。到第n天早上再想吃的時候,就只剩下一個桃子了。輸入:天數n 輸出:第一天的桃子個數
下面的程序中,請補全缺失的代碼。
#include
} int n,i,y;scanf(“%d”,【1】______________);for(i=n-1, y=1;i>=1;i--)y = 2*(i+y);if(y==1)printf(“The monkey got %d peach in first day.”,y);if(y!=1)printf(“The monkey got %d peachs in first day.”,y);
2、空心的倒三角型
背景:
請根據要求打印可空心倒三角形。輸入:
輸入三角形的高度(h >= 0)。輸出:
打印相應的空心倒三角形。圖樣參見測試用例。
例如: 結果1: 輸入:3 輸出: ***** * * *
結果2: 輸入:5 輸出:
********* * * * * * * *
試填寫缺失的代碼。
#include 3、素數問題 素數是指一個只能被1和它本身整除的數,在數論中占有重要的研究地位,在當代密碼學中也被廣泛應用。輸入: 取值范圍 輸出: 該范圍內的最大素數 #include int judgeis(int a){ int i;for(i=2;i int n;scanf(“%d”,&n);while(【4】){n--;} printf(“The max prime number is %d.”,n); return 0;} 結果: 輸入:100 輸出:The max prime number is 97.4、判斷三角形的形狀 要求: 輸入三角型的三條邊,判斷三角形的形狀。假設輸入的三邊邊長均>0。輸入:三角型的3條邊的長度(int型)。輸出:等邊三角形:equilateral triangle 等腰三角形:isoceles triangle 不構成三角形:non-triangle 一般三角形:triangle 試填寫缺失的代碼。 #include if(【5】)printf(“non-triangle.”);else if(a==b&&b==c)printf(“equilateral triangle.”);else if(a==b&&b!=c||a==c&&c!=b||b==c&&c!=a)printf(“isoceles triangle.”);else printf(“triangle.”);} 結果: 輸入:2 2 2 輸出:equilateral triangle.5、字符串問題: 若main()函數中,有如下程序代碼,執行后輸出的結果是【6】_____________。 char s[]=“abcdefg”;s[3]=‘
主站蜘蛛池模板:
99精品国产高清一区二区|
黑人玩弄漂亮少妇高潮大叫|
92久久精品一区二区|
亚洲精品55夜色66夜色|
动漫精品无码视频一区二区三区|
好男人好资源电影在线播放|
中文字幕 亚洲 无码 在线|
精品无码久久久久国产电影|
国产精品无码一本二本三本色|
日韩精品无码不卡无码|
精品国产乱码久久久久app下载|
国产手机在线无码播放视频|
欧美人妻精品一区二区三区|
人妻无码av中文系列|
日韩高清亚洲日韩精品一区二区|
亚洲 日韩 激情 无码 中出|
色综合久久88色综合天天|
av一本久道久久波多野结衣|
国产精品视频二区不卡|
天天躁日日躁狠狠躁超碰97|
久久水蜜桃亚洲av无码精品麻豆|
俺去啦最新官网|
亚洲字幕av一区二区三区四区|
中文字幕av无码人妻|
久久国产精品萌白酱免费|
日韩激情电影一区二区在线|
伊人天天久大香线蕉av色|
香蕉eeww99国产精选免费|
日日碰狠狠添天天爽五月婷|
久久久久无码专区亚洲av|
亚洲熟妇无码爱v在线观看|
97精品久久久久中文字幕|
亚洲人成欧美中文字幕|
久久99热精品免费观看|
99久久99这里只有免费费精品|
亚洲中文字幕一区精品自拍|
天天综合网网欲色|
午夜家庭影院|
亚洲人成影院在线无码按摩店|
日韩av无码中文无码电影|
国产乱人伦偷精品视频免下载|