<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. C語言

    計算機二級考試C語言預測上機鞏固試題

    時間:2025-01-18 07:52:24 C語言 我要投稿
    • 相關推薦

    計算機二級考試C語言預測上機鞏固試題

      距離2017年3月計算機等級考試越來越近了,百分網小編為大家整理了2017年計算機二級考試C語言預測上機鞏固試題,希望對各位有所幫助!

    計算機二級考試C語言預測上機鞏固試題

      一、程序填空題

      請補充main()函數,該函數的功能是:如果數組arr的前一個元素比后一個元素小,則把它保存在數組bb中并輸出。

      例如,若數組中的元素為:“40,68,62,33,35,52,48,95,66,73”,則輸出:“40,33.35,48,66”。

      注意:部分源程序給出如下。

      請勿改動函數()main和其他函數中的任何內容,僅在main()函數的橫線上填入所編寫的若干表達式或語句。

      試題程序:

      #include

      #include

      世define M 10

      void main()

      {

      int i,n=0;

      int arr[M]={40,68,62,33,35,52,48,95,66,73};

      int bb[M];

      system("CLS");

      for(i=0;i<【1】 ;i++)

      if(arr[i]   【2】 ;

      printf("\n***display bb***\n"):

      for(i=0;i   printf("bb[%d]=%2d”,【3】);

      }

      二、程序改錯題

      給定程序中,函數proc()的功能是:使數組中的元素的值縮小5倍。

      請修改程序中的錯誤,使它能得出正確的結果。

      注意:不要改動main()函數,不得增行或刪行,也不得更改程序的結構。

      試題程序:

      #include

      #include

      #include

      float m[10];

      //****found****

      int proc(void)

      {

      int j;

      printf(”In subfunc after calling\n”);

      for(j=0;j<10;j++)

      {

      //****found****

      printf("%f",m[j]%5);

      }

      }

      void main()

      {

      int i;

      printf("In main before calling\n");

      for(i=0;i<10;i++)

      {

      m[i]=i+20:

      printf("%f",m[i]);

      }

      proc();

      printf("\nln main after calling\n");

      for(i=0;i<10;i++)

      printf("%f",m[i]/5);

      }

      三、程序設計題

      學生的記錄由學號和成績組成,M名學生的數據已在主函數中放人結構體數組stu中,請編寫函數proc(),其功能是:按分數的高低排列學生的記錄,高分在前。

      注意:部分源程序給出如下。

      請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的花括號中填人所編寫的若干語句。

      試題程序:

      #include

      #define M l6

      typedef struct

      {

      char num[10];

      int s;

      }

      STREC;

      void proc(STREC a[])

      {

      int i,j;

      STREC t:

      for(i=1;i   排序*/

      for(j=0;j   if(a[j].s   的記錄,高分在

      前*/

      {t=a[j];a[j]=a[j+1];a[j+1]=t;)

      )

      void main()

      {

      STREC stu[M]={{"GA005",85),{"GA003",

      76},

      {"GA002",59),{"GA004",85},{"GA001",91),

      {fIGA007”,72),{"GA008",64),("GA006",87),

      {”GAOl5”,"t5},{"GA013",91),{"GA012",64},

      {"GA014",91),{"GAO11",66},{"GA017",64),

      {¨GA018",64),{¨GA016",72));

      int i;

      proc(stu);

      printf("The data after sorted:\n");

      for(i一0;i   {

      if(i%4==O)

      //每行輸出4個學生記錄

      printf("\n");

      printf("%S%4d",stu[i].mum,stu[i].s);

      }

      printf("\n");

      }

      上機考試試題答案與解析

      一、程序填空題

      【1】M-1【2】bb[n++]=arr[i]【3】i,bb[i]

      【解析】由整個for循環可知,變量i為數組art的下標,題目中要求取出前一個元素比后一個元素小的元素,所以只需要判斷前M-1個元素即可。因此,【1】處填“M-l”;如果第i個元素比第i+1個元素小,將第i個元素放入數組bb中,因此,【2】處填“bb[n++]=arr[i]”。最后,要輸出數組bb中的每一個元素。因此,【3】處填“i,bb[i]”。

      二、程序改錯題

      (1)錯誤:int proc(void)

      正確:void proc(void)

      (2)錯誤:printf("%f",m[j]%5);

      正確:printf("%f",m[j]/5);

      【解析】由主函數中的函數調用可知,函數proc()沒有返回值。因此,“int proc(void)”應改為“void proc(void)”。題目中要求使數組中元素的值縮小到1/5,而不是對5取余。因此,“printf("%f",m[j]%5);”應改為“printf("%f",m[j]/5);”。

      三、程序設計題

      void proc(STREC a[])

      {

      int i,j;

      STREC t:

      for(i=1;i  排序

      for(j=0;j  if(a[j].s  的記錄,高分在前

      {t=a[j];a[j]=a[j+1];a[j+1]=t;}

      }

      【解析】要按分數的高低排列學生的記錄,可以使用冒泡排序法。將每一個學生的成績與其他學生的成績相比較,對不符合要求的記錄交換位置。

    【計算機二級考試C語言預測上機鞏固試題】相關文章:

    計算機二級C語言考前預測上機試題及解析07-04

    計算機二級C語言預測上機精選訓練題07-05

    計算機二級C語言考試上機考試題及答案04-09

    2017計算機二級C語言上機最終預測題07-08

    計算機二級C語言上機沖刺試題及答案05-26

    2016年計算機二級C語言考試上機試題及答案05-05

    2015年計算機二級C語言考試上機模擬試題12-24

    2017計算機二級C語言知識鞏固試題05-18

    計算機四級C語言考試上機試題05-31

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