藍橋杯c語言試題2018 藍橋杯2021題目c語言

藍橋杯c語言試題2018 藍橋杯2021題目c語言

日期:2023-03-06 09:41:44    编辑:网络投稿    来源:网络资源

藍橋杯c語言試題2015  第一題:  假設有兩種微生物 X 和 Y  X出生后每隔3分鐘分裂一次(數目加倍),Y出生后每隔2分鐘分裂一次(數目加倍)。  一個新出生的X,半分鐘之后吃

藍橋杯c語言試題2015

  第一題:

藍橋杯c語言試題2015

  假設有兩種微生物 X 和 Y

  X出生后每隔3分鐘分裂一次(數目加倍),Y出生后每隔2分鐘分裂一次(數目加倍)。

  一個新出生的X,半分鐘之后吃掉1個Y,并且,從此開始,每隔1分鐘吃1個Y。

  現在已知有新出生的 X=10, Y=89,求60分鐘后Y的數目。

  如果X=10,Y=90 呢?

  本題的要求就是寫出這兩種初始條件下,60分鐘后Y的數目。

  第二題:

  ABCDE * ? = EDCBA

  “ABCDE代表不同的數字,問號也代表某個數字!”

  第三題:

  有一群海盜(不多于20人),在船上比拼酒量。過程如下:打開一瓶酒,所有在場的人平分喝下,有幾個人倒下了。再打開一瓶酒平分,又有倒下的,再次重復…… 直到開了第4瓶酒,坐著的已經所剩無幾,海盜船長也在其中。當第4瓶酒平分喝下后,大家都倒下了。

  等船長醒來,發現海盜船擱淺了。他在航海日志中寫到:“……昨天,我正好喝了一瓶…….奉勸大家,開船不喝酒,喝酒別開船……”

  請你根據這些信息,推斷開始有多少人,每一輪喝下來還剩多少人。

  如果有多個可能的答案,請列出所有答案,每個答案占一行。

  格式是:人數,人數,…

  例如,有一種可能是:20,5,4,2,0

  第四題:

  某電視臺舉辦了低碳生活大獎賽。題目的計分規則相當奇怪:

  每位選手需要回答10個問題(其編號為1到10),越后面越有難度。答對的,當前分數翻倍;答錯了則扣掉與題號相同的分數(選手必須回答問題,不回答按錯誤處理)。

  每位選手都有一個起步的分數為10分。

  某獲勝選手最終得分剛好是100分,如果不讓你看比賽過程,你能推斷出他(她)哪個題目答對了,哪個題目答錯了嗎?

  如果把答對的記為1,答錯的記為0,則10個題目的回答情況可以用僅含有1和0的串來表示。例如:0010110011 就是可能的情況。

  你的任務是算出所有可能情況。每個答案占一行。

  第五題:

  這道題是代碼填空題,目的是把一個矩陣順時針旋轉。

  1 2 3 4 13 9 5 1

  5 6 7 8 –> 14 10 6 2

  9 10 11 12 15 11 7 3

  13 14 15 16 16 12 8 4

  題目附帶的不完整代碼:

  01

  void rotate(int* x, int rank)

  02

  {

  03

  int* y = (int*)malloc(___________________); // 填空

  04

  05

  for(int i=0; i

  06

  {

  07

  y[_________________________] = x[i]; // 填空

  08

  }

  09

  10

  for(i=0; i

  11

  {

  12

  x[i] = y[i];

  13

  }

  14

  15

  free(y);

  16

  }

  17

  18

  int main(int argc, char* argv[])

  19

  {

  20

  int x[4][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};

  21

  int rank = 4;

  22

  23

  rotate(&x[0][0], rank);

  24

  25

  for(int i=0; i

  26

  {

  27

  for(int j=0; j

  28

  {

  29

  printf("%4d", x[i][j]);

  30

  }

  31

  printf("\n");

  32

  }

  33

  34

  return 0;

  35

  }

  第六題:

  依舊是補全代碼,大數乘法,本來還算比較繁雜的,但是題目當時附了圖,變的`很簡單了

  題目附帶的不完整代碼:

  01

  void bigmul(int x, int y, int r[])

  02

  {

  03

  int base = 10000;

  04

  int x2 = x / base;

  05

  int x1 = x % base;

  06

  int y2 = y / base;

  07

  int y1 = y % base;

  08

  09

  int n1 = x1 * y1;

  10

  int n2 = x1 * y2;

  11

  int n3 = x2 * y1;

  12

  int n4 = x2 * y2;

  13

  14

  r[3] = n1 % base;

  15

  r[2] = n1 / base + n2 % base + n3 % base;

  16

  r[1] = ____________________________________________; // 填空

  17

  r[0] = n4 / base;

  18

  19

  r[1] += _______________________; // 填空

  20

  r[2] = r[2] % base;

  21

  r[0] += r[1] / base;

  22

  r[1] = r[1] % base;

  23

  }

  24