藍橋杯第二屆初賽題目

2023-01-09 14:06:03 字數 3547 閱讀 6128

第二屆藍橋杯預賽試題 c 本科

神秘的三位數

有這樣乙個3位數,組成它的3個數字階乘之和正好等於它本身。即:abc = a! + b! + c!

下面的程式用於搜尋這樣的3位數。請補全缺失的**。

把填空的答案(僅填空處的答案,不包括題面)存入考生資料夾下對應題號的「解答.txt」中即可。

int jc = ;

int i;

for(i=100; i<1000; i++)

if(i==sum) printf("%d\n", i);

}歌賽新規則

歌手大賽的評分規則一般是去掉乙個最高分,去掉乙個最低分,剩下的分數求平均。當評委較少的時候,如果我們只允許去掉乙個分數,該如何設計規則呢?

有人提出:應該去掉與其餘的分數平均值相差最遠的那個分數。即「最離群」的分數。

以下的程式用於實現這個功能。其中x存放所有評分,n表示陣列中元素的個數。函式返回最「離群」的那個分數值。請補全缺失的**。

把填空的答案(僅填空處的答案,不包括題面)存入考生資料夾下對應題號的「解答.txt」中即可。

double score(double x, int n)

double t = x[i] - sum / (n-1);

if(t<0) t = -t;

if(t>dif)

}return bad;

}反轉串

我們把「cba」稱為「abc」的反轉串。

下面的**可以把buf中的字元反轉。其中n表示buf中待反轉的串的長度。請補充缺少的**。

把填空的答案(僅填空處的答案,不包括題面)存入考生資料夾下對應題號的「解答.txt」中即可。

void reverse_str(char* buf, int n)

n進製小數

將任意十進位制正小數分別轉換成2,3,4,5,6,7,8,9進製正小數,小數點後保留8位,並輸出。例如:若十進位制小數為0.795,則輸出:

十進位制正小數 0.795000 轉換成 2 進製數為: 0.11001011

十進位制正小數 0.795000 轉換成 3 進製數為: 0.21011011

十進位制正小數 0.795000 轉換成 4 進製數為: 0.30232011

十進位制正小數 0.795000 轉換成 5 進製數為: 0.34414141

十進位制正小數 0.795000 轉換成 6 進製數為: 0.44341530

十進位制正小數 0.795000 轉換成 7 進製數為: 0.53645364

十進位制正小數 0.795000 轉換成 8 進製數為: 0.62702436

十進位制正小數 0.795000 轉換成 9 進製數為: 0.71348853

以下**提供了這個功能。其中,dtestno表示待轉的十進位制小數。ibase表示進製數。請填寫缺失的部分。

把填空的答案(僅填空處的答案,不包括題面)存入考生資料夾下對應題號的「解答.txt」中即可。

void fun(double dtestno, int ibase)

printf("0.");

for(ino=0; ino<8; ino++) printf("%d", it[ino]);

printf("\n");

}void main ( )

輪換串「abcd」每個字元都向右移位,最右的移動到第乙個字元的位置,就變為「dabc」。這稱為對串進行位移=1的輪換。同理,「abcd」變為:「cdab」則稱為位移=2的輪換。

下面的**實現了對串s進行位移為n的輪換。請補全缺失的**。

把填空的答案(僅填空處的答案,不包括題面)存入考生資料夾下對應題號的「解答.txt」中即可。

void shift(char* s, int n)

}strcpy(s,s2);

free(s2);

}中獎計算

某**活動的規則是:每位參與者在紙上寫下乙個8位數的號碼。最後通過搖獎的辦法隨機產生乙個8位數字。參與者寫下的數字中最多有多少個連續位與開獎號碼中的相同,則稱為中了幾個號。

例如:小張寫的數字是:12345678,而開獎號碼是:

42347856。則稱小張中了3個號,因為其中最長的相同連續位是:「234」。

如果小張寫的是:87654321,則他只中了乙個號。

下面的**根據傳入的引數,返回中了幾個號。其中:a表示被評價的號碼,b表示搖號產生的數字。請填寫缺少的**。

把填空的答案(僅填空處的答案,不包括題面)存入考生資料夾下對應題號的「解答.txt」中即可。

int g(int a, int b)

}return n;

}概率問題

某個袋子中有紅球m個,白球n個。現在要從中取出x個球。那麼紅球數目多於白球的概率是多少呢?

下面的**解決了這個問題。其中的y表示紅球至少出現的次數。

這與前文的問題是等價的。因為如果取30個球,要求紅球數大於白球數,則等價於至少取出16個紅球。請根據僅存的線索,判斷程式邏輯,並補全缺少的**。

把填空的答案(僅填空處的答案,不包括題面)存入考生資料夾下對應題號的「解答.txt」中即可。

/* m: 袋中紅球的數目

n: 袋中白球的數目

x: 需要取出的數目

y: 紅球至少出現的次數

*/double pro(int m, int n, int x, int y)

方陣的主對角線之上稱為「上三角」。

請你設計乙個用於填充n階方陣的上三角區域的程式。填充的規則是:使用1,2,3….的自然數列,從左上角開始,按照順時針方向螺旋填充。

例如:當n=3時,輸出:

1 2 3

6 45

當n=4時,輸出:

1 2 3 4

9 10 5

8 6

7當n=5時,輸出:

1 2 3 4 5

12 13 14 6

11 15 7

10 8

9程式執行時,要求使用者輸入整數n(3~20)

程式輸出:方陣的上三角部分。

要求格式:每個資料寬度為4,右對齊。

要求考生把所有函式寫在乙個檔案中。除錯好後,存入與考生資料夾下對應題號的「解答.txt」中即可。相關的工程檔案不要拷入。

對於程式設計題目,要求選手給出的解答完全符合ansi c標準,不能使用c++特性;不能使用諸如繪圖、中斷呼叫等硬體相關或作業系統相關的api。

公司發了某商店的購物券1000元,限定只能購買店中的m種商品。每種商品的**分別為m1,m2,…,要求程式列出所有的正好能消費完該購物券的不同購物方法。

程式輸入:

第一行是乙個整數m,代表可購買的商品的種類數。

接下來是m個整數,每個1行,分別代表這m種商品的單價。

程式輸出:

第一行是乙個整數,表示共有多少種方案

第二行開始,每種方案佔1行,表示對每種商品購買的數量,中間用空格分隔。

例如: 輸入:

2200

300則應輸出:

22 2

5 0

輸入:2500

800則應輸出:

12 0

要求考生把所有函式寫在乙個檔案中。除錯好後,存入與考生資料夾下對應題號的「解答.txt」中即可。相關的工程檔案不要拷入。

第二屆數學競賽初賽答案

第一組填空題 1.25 104 2.這兩根繩原來長1公尺。3.來 代表1,參 代表2,加 代表3,數 代表4,學 代表5,邀 代表6,請 代表7。4.第7天她織布346.5公尺,7天共織布2100公尺。6.n個這樣的正六邊形的周長是6na。7.每組各選 1人,一共有120種選法 三組共同推選乙個代表...

藍橋杯第一到三屆初賽題目

第一屆藍橋杯預賽試題 c 本科 第一題,以下函式的功能是將任意整數進行因式分解,請完成該程式的空缺使函式能夠正常運算 void f int n if n 1 printf d n n 第二題,以下函式的功能是將給定字串進行倒序輸出,請完成該函式空缺部分。char p abcdef char q ch...

第二屆「南方杯」技能比賽方案

全市國土資源系統 第二屆 南方杯 土地勘測技能大賽方案 一 比賽時間 本次比賽初步定於4月11 12日舉行,時間共2天,具體安排如下 1 11日上午8 00 9 30報到,10 00舉行開幕式,下午進行外業測量考試 2 12日上午8 00 12 00外業測量考試,下午頒獎典禮暨2012年工作部署會。...