欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

C語(yǔ)言

計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)模擬試題及解題思路

時(shí)間:2025-02-16 01:03:06 C語(yǔ)言 我要投稿
  • 相關(guān)推薦

計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)模擬試題及解題思路

  隨著2017年上半年計(jì)算機(jī)等級(jí)考試的臨近,百分網(wǎng)小編為大家整理了2017計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)模擬試題及解題思路,更多計(jì)算機(jī)等級(jí)考試信息請(qǐng)關(guān)注應(yīng)屆畢業(yè)生考試網(wǎng)。

計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)模擬試題及解題思路

  填空題

  給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中,將所有串長(zhǎng)超過(guò)k的字符串中右邊的字符刪除,只保留左邊的k個(gè)字符。ss所指字符串?dāng)?shù)組中共有N個(gè)字符串,且串長(zhǎng)小于M。 請(qǐng)?jiān)诔绦虻南聞澗處填入正確的內(nèi)容并把下劃線刪除, 使程序得出正確的結(jié)果。

  注意:源程序存放在考生文件夾下的BLANK1.C中。

  不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

  給定源程序:

  #include

  #include

  #define N 5

  #define M 10

  void fun(char (*ss) __1__, int k)

  { int i=0 ;

  while(i< __2__) {

  ss[i][k]=__3__; i++; }

  }

  main()

  { char x[N][M]={"Create","Modify","Sort","skip","Delete"};

  int i;

  printf("\nThe original string\n\n");

  for(i=0;i

  fun(x,4);

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

  for(i=0; i

  }

  解題思路:

  本題是根據(jù)給定的字符串?dāng)?shù)組中刪除串長(zhǎng)大于某個(gè)值的右邊字符串。

  第一處:函數(shù)的定義,試題中已用M作為字符串的長(zhǎng)度,所以應(yīng)填:M。

  第二處:利用while循環(huán),分別對(duì)字符串?dāng)?shù)組中的每個(gè)字符串置字符串結(jié)束符,程序中已經(jīng)給定了N個(gè)字符串,所以應(yīng)填:N。

  第三處:置字符串結(jié)束符,所以應(yīng)填:0(或'\0')。

  改錯(cuò)題

  給定程序MODI1.C中函數(shù)fun的功能是:根據(jù)以下公式求π值,并作為函數(shù)值返回。

  例如,給指定精度的變量eps輸入0.0005時(shí),應(yīng)當(dāng)輸出Pi=3.140578。

  π 1 1 2 1 2 3 1 2 3 4

  ─=1+ ─ + ─×─ + ─×─×─ + ─×─×─×─+……

  2 3 3 5 3 5 7 3 5 7 9

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

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

  給定源程序:

  #include

  #include

  double fun(double eps)

  { double s,t; int n=1;

  s=0.0;

  t=0;

  while( t>eps)

  { s+=t;

  t=t * n/(2*n+1);

  n++;

  }

  return(s);

  }

  main()

  { double x;

  printf("\nPlease enter a precision: "); scanf("%lf",&x);

  printf("\neps=%lf, Pi=%lf\n\n",x,fun(x));

  }

  解題思路:

  第一處: 初始化t的值,根據(jù)程序中的計(jì)算程序和試題的要求得出,t應(yīng)為1。

  第二處: 根據(jù)公式π/2得出,所以返回時(shí)應(yīng)原有s的基礎(chǔ)上乘以2作為返回值。

  編程題

  假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:使字符串的前導(dǎo)*號(hào)不得多于n個(gè);若多于n個(gè),則刪除多余的*號(hào); 若少于或等于n個(gè),則什么也不做,字符串中間和尾部的*號(hào)不刪除。函數(shù)fun中給出的語(yǔ)句僅供參考。例如,字符串中的內(nèi)容為:*******A*BC*DEF*G****,若n的值為4,刪除后,

  字符串中的內(nèi)容應(yīng)當(dāng)是:****A*BC*DEF*G****;若n的值為8,則字符串中的內(nèi)容仍

  為:*******A*BC*DEF*G****。n的值在主函數(shù)中輸入。 在編寫(xiě)函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。

  注意: 部分源程序在文件PROG1.C文件中。

  請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入

  你編寫(xiě)的若干語(yǔ)句。

  給定源程序:

  #include

  void fun( char *a, int n )

  {

  int i=0,j,k=0;

  while(a[k]=='*') k++; /* k為統(tǒng)計(jì)*字符個(gè)數(shù) */

  if(k>n)

  {

  i=n;j=k;

  /* 以下完成將下標(biāo)為k至串尾的字符前移k-n個(gè)位置 */

  }

  }

  main()

  { char s[81]; int n;

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

  printf("Enter n : ");scanf("%d",&n);

  fun( s,n );

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

  NONO();

  }

  解題思路:

  本題是考察字符串的操作。

  利用for循環(huán)來(lái)判斷a[j]的字符是否是字符串結(jié)束符,如果不是字符串結(jié)束符,則把a(bǔ)[j]

  的字符依次存放到a[i]。其中,變量i是n的初始值,變量j是字符串前導(dǎo)的*號(hào)數(shù)。

  參考答案:

  void fun( char *a, int n )

  {

  int i=0,j,k=0;

  while(a[k]=='*') k++; /* k為統(tǒng)計(jì)*字符個(gè)數(shù) */

  if(k>n)

  {

  i=n;j=k;

  /* 以下完成將下標(biāo)為k至串尾的字符前移k-n個(gè)位置 */

  for(; a[j] !=0 ; j++)

  a[i++]=a[j];

  a[i] = 0;

  }

  }

【計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)模擬試題及解題思路】相關(guān)文章:

2015年計(jì)算機(jī)二級(jí)《C語(yǔ)言》上機(jī)模擬試題06-07

2015年計(jì)算機(jī)二級(jí)C語(yǔ)言考試上機(jī)模擬試題12-24

計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)模擬題02-14

計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)沖刺試題及答案05-26

計(jì)算機(jī)二級(jí)C語(yǔ)言模擬試題03-20

2016計(jì)算機(jī)二級(jí)C++上機(jī)模擬試題及答案07-16

計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)精選模擬題及答案03-22

計(jì)算機(jī)二級(jí)C語(yǔ)言考前預(yù)測(cè)上機(jī)試題及解析07-04

計(jì)算機(jī)二級(jí)《C語(yǔ)言》上機(jī)操作試題及答案06-02