亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語(yǔ)言

計(jì)算機(jī)二級(jí)C語(yǔ)言預(yù)測(cè)上機(jī)訓(xùn)練題

時(shí)間:2024-07-05 08:02:38 C語(yǔ)言 我要投稿
  • 相關(guān)推薦

計(jì)算機(jī)二級(jí)C語(yǔ)言預(yù)測(cè)上機(jī)精選訓(xùn)練題

  以下是百分網(wǎng)小編為大家整理的2017年計(jì)算機(jī)二級(jí)考試C語(yǔ)言預(yù)測(cè)上機(jī)精選訓(xùn)練題,希望對(duì)各位考生有所幫助!

  一、程序填空題

  請(qǐng)補(bǔ)充函數(shù)proc(),其功能是:計(jì)算并輸出給定10個(gè)數(shù)的方差。

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

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

  請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的橫線上填人所編寫的若干表達(dá)式或語(yǔ)句。

  試題程序:

  #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);

  }

  二、程序改錯(cuò)題

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

  請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。

  注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。

  試題程序:

  #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");}

  三、程序設(shè)計(jì)題

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

  例如,若字符串中的內(nèi)容為****a*bc*def*g** **,刪除后,字符串中的內(nèi)容則應(yīng)當(dāng)是a*bc*def*g** **。

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

  請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。

  試題程序:

  #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);}

  上機(jī)考試試題答案與解析

  一、程序填空題

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

  avg) 【3】sqrt(abs/10)

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

  二、程序改錯(cuò)題

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

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

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

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

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

  三、程序設(shè)計(jì)題

  void proc(char*str)

  {

  char*p=str:

  while(*p==’*’)p++;//通過(guò)P的移動(dòng)來(lái)達(dá)

  到使P指向第一個(gè)不是*號(hào)的字符

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

  不是*號(hào)的字符放到a中 ‘

  *str=* P:

  *str=’\0 ’; //最后用’\0’作為字符串結(jié)束標(biāo)志

  }

  【解析】題目中要求將字符串中的前導(dǎo)*號(hào)全部刪除首先將指針p移動(dòng)到第一個(gè)不是*的字符,將指針P之后的字符放入原來(lái)的字符串中,并為新的字符串添加結(jié)束符。

【計(jì)算機(jī)二級(jí)C語(yǔ)言預(yù)測(cè)上機(jī)訓(xùn)練題】相關(guān)文章:

2017計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)最終預(yù)測(cè)題07-08

2024二級(jí)c語(yǔ)言上機(jī)題庫(kù)04-18

2017計(jì)算機(jī)二級(jí)C語(yǔ)言提分訓(xùn)練題10-14

2015年9月計(jì)算機(jī)二級(jí)C語(yǔ)言預(yù)測(cè)題08-26

2016年12月計(jì)算機(jī)二級(jí)C語(yǔ)言預(yù)測(cè)題07-03

2017計(jì)算機(jī)二級(jí)C語(yǔ)言考前熱身訓(xùn)練題及答案09-15

2017計(jì)算機(jī)二級(jí)C語(yǔ)言提分訓(xùn)練題及答案09-14

2017年計(jì)算機(jī)二級(jí)C語(yǔ)言提高訓(xùn)練題06-20

C語(yǔ)言高分預(yù)測(cè)題練習(xí)07-18

2016年計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)操作題及答案10-11