05年9月等级考试二级C语言考前上机密卷1计算机二级考试

文章作者 100test 发表时间 2009:04:10 00:04:24
来源 100Test.Com百考试题网


1.程序填空
  
  给定程序的功能是判断字符ch是否与串str中的某个字符相同:若相同,什么也不做,若不同,则插在串的最后。
  请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果
  注意:不得增行或删行,也不得更改程序的结构!
  试题程序:
  #include
  #include
  void fun(char*str, char ch )
  {  while ( *str &.&. *str != ch ) str .
  if( *str  1  ch )
  { str[0] =ch.
  2  = 0.
  }
  }
  main( )
  {  char s[81], c.
  printf( "\nPlease enter a string:\n" ). gets ( s ).
  printf ("\n Please enter the character to search : " ).
  c = getcharO.
  fun( 3  ) .
  printf( "\nThe result is %s\n", s).
  1.程序填空
  【答案】
  (1)!=
  (2)str[1]
  (3)s,c
  【评析】
  (1)fun函数中先设置了二个循环从字符串str中寻找字符ch,如果找到则中断循环并保留字符ch的地址,否则一直循环到串尾"。因此通过判断*str的内容即可判断是否已找到字符ch。
  (2)如果没有找到字符ch,则在while循环后str指针指向串结束符Ox00,此时应将字符ch写入这里并在下一地址写入一个串结束符Ox00,所以应该是"str[1]。O;"语句。
  (3)此句是调用fun()函数,括弧中是其实际参数。
  
  2.程序修改
  
  给定程序modi.c中,函数fun的功能是:’根据形参m的值(2≤m≤9),在m行m列的二维数组中存放如下所示的数据,由main()函数输出。
  例如,若输入2    ︳若输入4
  则输出:       ︳则输出:
      1 2     ︳     1 2 3 4
      2 4     ︳     2 4 6 8
             ︳     3 6 9 12
             ︳     4 8 12 16
  请改正程序中的错误,使它能得出正确结果。
  注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
  试题程序:
  #include
  #include
  #define M 10
  int a[M][M]={0}.
  fun(int **a, int m)
  { int j,k.
  for (j=0.j  for (k=0.k  a[j][k]=k*j.
  }
  main()
  {  int i,j,n.
  clrscr0.
  printf("Enter n:").scanf("%d",&.n).
  fun(a,n).
  for(i=0.i  {  forO=O.j  print f("M",a[i] [j] ).
  printf("\n").
  }

相关文章


全国计算机等级二级C语言上机编程题题型计算机二级考试
05年9月等级考试二级C语言考前上机密卷1计算机二级考试
05年9月等级考试二级C语言考前上机密卷2计算机二级考试
09年全国计算机二级C 笔试练习(8)计算机二级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛