<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. 培訓考試

    藍橋杯c語言試題

    時間:2025-05-27 01:43:27 培訓考試 我要投稿

    藍橋杯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

      25

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

      26

      {

      27

      int x[] = {0,0,0,0};

      28

      29

      bigmul(87654321, 12345678, x);

      30

      31

      printf("%d%d%d%d\n", x[0],x[1],x[2],x[3]);

      32

      33

      return 0;

      34

      }

      第七題:

      補全代碼,有個6*6的棋盤,預先已經放置了一部分棋子,現在要再補充棋子使得每行每列都有3個棋子

      題目附帶的不完整代碼:

      001

      int N = 0;

      002

      003

      bool CheckStoneNum(int x[][6])

      004

      {

      005

      for(int k=0; k<6; k++)

      006

      {

      007

      int NumRow = 0;

      008

      int NumCol = 0;

      009

      for(int i=0; i<6; i++)

      010

      {

      011

      if(x[k][i]) NumRow++;

      012

      if(x[i][k]) NumCol++;

      013

      }

      014

      if(_____________________) return false; // 填空

      015

      }

      016

      return true;

      017

      }

      018

      019

      int GetRowStoneNum(int x[][6], int r)

      020

      {

      021

      int sum = 0;

      022

      for(int i=0; i<6; i++) if(x[r][i]) sum++;

      023

      return sum;

      024

      }

      025

      026

      int GetColStoneNum(int x[][6], int c)

      027

      {

      028

      int sum = 0;

      029

      for(int i=0; i<6; i++) if(x[i][c]) sum++;

      030

      return sum;

      031

      }

      032

      033

      void show(int x[][6])

      034

      {

      035

      for(int i=0; i<6; i++)

      036

      {

      037

      for(int j=0; j<6; j++) printf("%2d", x[i][j]);

      038

      printf("\n");

      039

      }

      040

      printf("\n");

      041

      }

      042

      043

      void f(int x[][6], int r, int c);

      044

      045

      void GoNext(int x[][6], int r, int c)

      046

      {

      047

      if(c<6)

      048

      _______________________; // 填空

      049

      else

      050

      f(x, r+1, 0);

      051

      }

      052

      053

      void f(int x[][6], int r, int c)

      054

      {

      055

      if(r==6)

      056

      {

      057

      if(CheckStoneNum(x))

      058

      {

      059

      N++;

      060

      show(x);

      061

      }

      062

      return;

      063

      }

      064

      065

      if(______________) // 已經放有了棋子

      066

      {

      067

      GoNext(x,r,c);

      068

      return;

      069

      }

      070

      071

      int rr = GetRowStoneNum(x,r);

      072

      int cc = GetColStoneNum(x,c);

      073

      074

      if(cc>=3) // 本列已滿

      075

      GoNext(x,r,c);

      076

      else if(rr>=3) // 本行已滿

      077

      f(x, r+1, 0);

      078

      else

      079

      {

      080

      x[r][c] = 1;

      081

      GoNext(x,r,c);

      082

      x[r][c] = 0;

      083

      084

      if(!(3-rr >= 6-c || 3-cc >= 6-r)) // 本行或本列嚴重缺子,則本格不能空著!

      085

      GoNext(x,r,c);

      086

      }

      087

      }

      088

      089

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

      090

      {

      091

      int x[6][6] = {

      092

      {1,0,0,0,0,0},

      093

      {0,0,1,0,1,0},

      094

      {0,0,1,1,0,1},

      095

      {0,1,0,0,1,0},

      096

      {0,0,0,1,0,0},

      097

      {1,0,1,0,0,1}

      098

      };

      099

      100

      f(x, 0, 0);

      101

      102

      printf("%d\n", N);

      103

      104

      return 0;

      105

      }

      第八題:

      編程題:這個程序的任務就是把一串拼音字母轉換為6位數字(密碼)。我們可以使用任何好記的拼音串(比如名字,王喜明,就寫:wangximing)作為輸入,程序輸出6位數字。

      變換的過程如下:

      第一步. 把字符串6個一組折疊起來,比如wangximing則變為:

      wangxi

      ming

      第二步. 把所有垂直在同一個位置的字符的ascii碼值相加,得出6個數字,如上面的例子,則得出:

      228 202 220 206 120 105

      第三步. 再把每個數字“縮位”處理:就是把每個位的數字相加,得出的數字如果不是一位數字,就再縮位,直到變成一位數字為止。例如: 228 => 2+2+8=12 => 1+2=3

      上面的數字縮位后變為:344836, 這就是程序最終的輸出結果!

      要求程序從標準輸入接收數據,在標準輸出上輸出結果。

      輸入格式為:第一行是一個整數n(<100),表示下邊有多少輸入行,接下來是n行字符串,就是等待變換的字符串。

      輸出格式為:n行變換后的6位密碼。

      第九題:

      足球比賽具有一定程度的偶然性,弱隊也有戰勝強隊的可能。

      假設有甲、乙、丙、丁四個球隊。根據他們過去比賽的成績,得出每個隊與另一個隊對陣時取勝的概率表:

      甲 乙 丙 丁

      甲 – 0.1 0.3 0.5

      乙 0.9 – 0.7 0.4

      丙 0.7 0.3 – 0.2

      丁 0.5 0.6 0.8 –

      數據含義:甲對乙的取勝概率為0.1,丙對乙的勝率為0.3,…

      現在要舉行一次錦標賽。雙方抽簽,分兩個組比,獲勝的兩個隊再爭奪冠軍。(參見【1.jpg】)

      請你進行10萬次模擬,計算出甲隊奪冠的概率。

      第十題:

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

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

      void shift(char* s, int n)

      {

      char* p;

      char* q;

      int len = strlen(s);

      if(len==0) return;

      if(n<=0 || n>=len) return;

      char* s2 = (char*)malloc(_________);

      p = s;

      q = s2 + n % len;

      while(*p)

      {

      *q++ = *p++;

      if(q-s2>=len)

      {

      *q = ___________;

      q = s2;

      }

      }

      strcpy(s,s2);

      free(s2);

      }

    【藍橋杯c語言試題】相關文章:

    2014年藍橋杯c語言試題及答案09-16

    C語言試題08-02

    C語言試題11-01

    C語言試題10-20

    C語言程序試題04-26

    C語言試題大全08-06

    C語言試題及答案07-26

    C語言練習試題07-01

    c語言經典筆試題10-06

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人