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

C語言

計算機二級C語言上機復(fù)習題及答案解析

時間:2025-03-14 12:41:08 C語言 我要投稿
  • 相關(guān)推薦

計算機二級C語言上機復(fù)習題及答案解析

  為了提高大家復(fù)習計算機等級考試的積極性,應(yīng)屆畢業(yè)生考試網(wǎng)小編整理了計算機二級C語言上機復(fù)習題及答案解析,助大家備考計算機二級考試。

  填空題

  給定程序中,函數(shù)fun的功能是:在形參ss所指字符串數(shù)組中,查找含有形參substr所指子串的所有字符串并輸出,若沒找到則輸出相應(yīng)信息。ss所指字符串數(shù)組中共有N個字符串,且串長小于M。程序中庫函數(shù)strstr(s1, s2)的功能是在 s1串中查找s2子串,若沒有,函數(shù)值為0,若有,為非0。

  請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除, 使程序得出正確的結(jié)果。

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

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

  給定源程序:

  #include

  #include

  #define N 5

  #define M 15

  void fun(char (*ss)[M], char *substr)

  { int i,find=0;

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

  if( strstr(ss[i], __2__) != NULL )

  { find=1; puts(ss[i]); printf("\n"); }

  if (find==__3__) printf("\nDon't found!\n");

  }

  main()

  { char x[N][M]={"BASIC","C langwage","Java","QBASIC","Access"},str[M];

  int i;

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

  for(i=0;i  printf("\nEnter a string for search : "); gets(str);

  fun(x,str);

  }

  解題思路:

  本題是根據(jù)給定的字符串數(shù)組中查找指定的字符串,如果存在,則顯示。

  第一處:利用for循環(huán),從幾個字符串中進行查找,程序中已經(jīng)給定了N個字符串,所以應(yīng)填:N。

  第二處:查找子串,子串由形參substr傳遞,所以應(yīng)填:substr。

  第三處:試題要求,若沒有找到,函數(shù)值為0,所以應(yīng)填:0。

  改錯題

  給定程序MODI1.C中函數(shù)fun的功能是:求三個數(shù)的最小公倍數(shù)。

  例如,給主函數(shù)中的變量x1、x2、x3分別輸入15 11 2,

  則輸出結(jié)果應(yīng)當是:330。

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

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

  給定源程序:

  #include

  fun(int x, y, z )

  { int j,t ,n ,m;

  j = 1 ;

  t=j%x;

  m=j%y ;

  n=j%z;

  while(t!=0||m!=0||n!=0)

  { j = j+1;

  t=j%x;

  m=j%y;

  n=j%z;

  }

  return i;

  }

  main( )

  { int x1,x2,x3,j ;

  printf("Input x1 x2 x3: "); scanf("%d%d%d",&x1,&x2,&x3);

  printf("x1=%d, x2=%d, x3=%d \n",x1,x2,x3);

  j=fun(x1,x2,x3);

  printf("The minimal common multiple is : %d\n",j);

  }

  解題思路:

  第一處: 函數(shù)中形參的定義不正確,應(yīng)改為:fun(int x,int y, int z)。

  第二處: 程序中三個數(shù)的最小公倍數(shù)是用j處理的,所以應(yīng)返回j的值。

  編程題

  假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:只刪除字符串前導(dǎo)和尾部的*號,串中字母之間的*號都不刪除。形參n給出了字符串的長度, 形參h給出了字符串中前導(dǎo)*號的個數(shù),形參e給出了字符串中最后*號的個數(shù)。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。

  例如,字符串中的內(nèi)容為:****A*BC*DEF*G*******,刪除后,字符串中的內(nèi)容應(yīng)當是:A*BC*DEF*G。

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

  請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。

  給定源程序:

  #include

  void fun( char *a, int n,int h,int e )

  {

  }

  main()

  { char s[81],*t,*f; int m=0, tn=0, fn=0;

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

  t=f=s;

  while(*t){t++;m++;}

  t--;

  while(*t=='*'){t--;tn++;}

  while(*f=='*'){f++;fn++;}

  fun( s , m,fn,tn );

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

  NONO();

  }

  解題思路:

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

  1. 求出字符串的長度。

  2. 利用循環(huán)把字符串中字符按要求仍存放在原字符串首址開始的位置上。

  參考答案:

  void fun( char *a, int n,int h,int e )

  {

  char *p=a ;

  int j=0,len=0;

  while(*p) {p++; len++;}

  while(j  a[j]=a[h+j];

  j++;

  }

  a[j]=0;

  }

【計算機二級C語言上機復(fù)習題及答案解析】相關(guān)文章:

計算機二級C語言考前預(yù)測上機復(fù)習題及解析06-29

二級C++上機沖刺題及答案解析10-10

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

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

2017計算機二級C語言上機題庫及答案08-07

全國計算機二級考試C語言復(fù)習題與答案解析10-16

計算機二級《C語言》上機操作試題及答案10-04

計算機二級C語言上機精選模擬題及答案09-12

2016年二級C語言上機試題及答案10-24