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

    計算機二級C語言預測上機訓練題

    時間:2025-02-04 06:11:34 C語言 我要投稿

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

      以下是百分網小編為大家整理的2017年計算機二級考試C語言預測上機精選訓練題,希望對各位考生有所幫助!

      一、程序填空題

      請補充函數proc(),其功能是:計算并輸出給定10個數的方差。

      例如,給定的10個數為12.0,9.0,26.0,5.0,6.0,31.0,9.0,3.0,8.0,18.0,輸出為s=8.877500。

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

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

      試題程序:

      #include

      #include

      double proc(double x[10])

      {

      int i;

      double avg=0.0;

      double sum=0.0;

      double abs=0.0:

      double sd;

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

      【1】 ;

      avg=sum/10;

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

      【2】 ;

      sd= 【3】 ;

      return sd;

      }

      void main()

      {

      double S,str[10]={12.0,9.0,26.0,5.0,6.0,31.0,

      9.0,3.0,8.0,18.0};

      int i;

      printf("\nThe original data is:\n");

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

      printf("%6.1f",str[i]);

      printf("\n\n");

      s=proc(str):

      printf("s=%f\n\n",s);

      }

      二、程序改錯題

      下列給定程序中,函數proc()的功能是:從字符串str 中,刪除所有大寫字母’F’。

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

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

      試題程序:

      #include

      void proc(char*str)

      {

      int i,j;

      //****found****

      for(i=j=0;str[i]!=’0’;i++)

      if(str[i]!=’F’)

      //****found****

      str[j]=str[i];

      str[j]=’\0’;

      }

      void main()

      {

      char str[80];

      printf("\nEnter a string:");

      gets(str);

      printf("The original strin9:");

      puts(str);

      proc(str);

      printf("The string after deleted:");

      puts(str);

      printf("\n\n");}

      三、程序設計題

      假定輸入的字符串中只包含字母和*號。請編寫函數proc(),它的功能是:將字符串中的前導*號全部刪除,中間和后面的*號不刪除。

      例如,若字符串中的內容為****a*bc*def*g** **,刪除后,字符串中的內容則應當是a*bc*def*g** **。

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

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

      試題程序:

      #include

      #include

      woid proc(char*st r)

      {

      }

      void main()

      char str[81];

      printf("Enter a string:\n");

      gets(str);

      proc(str):

      printf("The string after deleted:\n");

      puts(str);}

      上機考試試題答案與解析

      一、程序填空題

      【1】sum+=x[i]【2】abs+=(x[i]-avg)*(x[i]

      avg) 【3】sqrt(abs/10)

      【解析】由函數proc()可知,變量SHill中存放n個數的和,因此,【1】處填“sum+=x[i]”;然后求其平方差,因此,【2】處填“abs+=(x[i]- avg)*(x[i] -avg)”;最后求10 個數的方差,因此,【3】處填“sqrt(abs/10)”。

      二、程序改錯題

      (1)錯誤:for(i=j=0;str[i]!=’0’;i++)

      正確:for(i=j=0;str[i]!=’\0’;i++)

      (2)錯誤:str[j]=str[i];

      正確:str[j++]=str[i];

      【解析】根據題目中的要求,從字符串str中刪除所有大寫字母’F’,需要檢查字符串str中的每一個字符,直到字符串結束,因此,“for(i=j=0;str[i]!=’0 ’;i++)”應改為“for(i=j=0;str[i]!=’\0 ’;i++)”;將每一個不是’F’的字符放入原來的字符串中.形成新的字符串,因此,“str[j]= str[1];”應改為“str[j++]=str[i];”。

      三、程序設計題

      void proc(char*str)

      {

      char*p=str:

      while(*p==’*’)p++;//通過P的移動來達

      到使P指向第一個不是*號的字符

      for(;*p!=’\0 ’;p++,str++)//把從第一個

      不是*號的字符放到a中 ‘

      *str=* P:

      *str=’\0 ’; //最后用’\0’作為字符串結束標志

      }

      【解析】題目中要求將字符串中的前導*號全部刪除首先將指針p移動到第一個不是*的字符,將指針P之后的字符放入原來的字符串中,并為新的字符串添加結束符。

    【計算機二級C語言預測上機訓練題】相關文章:

    2017年計算機二級C語言精準預測上機訓練題06-18

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

    計算機二級C語言上機強化訓練題及答案06-07

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

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

    2017計算機二級C語言上機特訓題08-12

    計算機二級C語言上機編程題講解07-10

    2017年計算機等級二級C語言上機考前預測題04-02

    計算機二級C語言上機程序填空題04-04

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