就业数据资源平台
当前位置:首页 > C语言程序设计
2014年计算机二级C语言上机模拟试题59

  函数fun的功能是进行字母转换。若形参ch中是小写英文字母,则转换成对应的大写英文字母;若ch中是大写英文字母,则转换成对应的小写英文字母;若是其它字符则保持不变;并将转换后的结果作为函数值返回。 

  请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 


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


  不得增行或删行,也不得更改程序的结构! 


  给定源程序: 


  #include  


  #include  


  char fun(char ch) 


  { 


  if ((ch>=’a’)___1___(ch<=’z’)) 


  return ch -’a’ + ’A’; 


  if ( isupper(ch) ) 


  return ch +’a’-___2___ ; 


  return ___3___; 


  } 


  main() 


  { char c1, c2; 


  printf("\nThe result :\n"); 


  c1=’w’; c2 = fun(c1); 


  printf("c1=%c c2=%c\n", c1, c2); 


  c1=’W’; c2 = fun(c1); 


  printf("c1=%c c2=%c\n", c1, c2); 


  c1=’8’; c2 = fun(c1); 


  printf("c1=%c c2=%c\n", c1, c2); 


  }


  解题思路: 


  第一处:判断形参ch是否是小写字母,所以应填:&&。 


  第二处:小写字母与大写字母的ASCII值相差为32,所以应填:’A’或65。 


  第三处:返回处理后的形参ch,所以应填:ch。 


  *************************************************** 


  给定程序MODI1.C中函数fun的功能是: 给一维数组a输入任意4个整数, 并按下例的规律输出。例如输入1、2、3、4, 程序运行后将输出以下方阵。 


  4 1 2 3 


  3 4 1 2 


  2 3 4 1 


  1 2 3 4 


  请改正函数fun中指定部位的错误, 使它能得出正确的结果。 


  注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! 


  给定源程序: 


  #include  


  #define M 4 


  void fun(int a) 


  { int i,j,k,m; 


  printf("Enter 4 number : "); 


  for(i=0; i  printf("\n\nThe result :\n\n"); 


  for(i=M;i>0;i--) 


  { k=a[M-1]; 


  for(j=M-1;j>0;j--) 


  aa[j]=a[j-1]; 


  a[0]=k; 


  for(m=0; m  printf("\n"); 


  } 


  } 


  main() 


  { int a[M]; 


  fun(a); printf("\n\n"); 


  }


  解题思路: 


  第一处:在函数fun体中,a是一个整型数组,所以形参a应定义为指针型整数变量。 


  第二处:变量书写错误,aa应为a。 


  *************************************************** 


  请编写一个函数fun, 它的功能是: 计算并输出给定整数n的所有因子(不包括1与n自身)之和。规定n的值不大于1000。 


  例如,在主函数中从键盘给n输入的值为856, 则输出为:sum=763。 


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


  请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 


  给定源程序: 


  #include  


  int fun(int n) 


  { 


  } 


  main() 


  { int n,sum; 


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


  sum=fun(n); 


  printf("sum=%d\n",sum); 


  NONO(); 


  } 


  解题思路: 


  本题是考察考生怎样利用循环来求出一个数n的所有(除1和自身外)因子i并求出它们的和s作为函数值返回。判断因子的条件是:n % i == 0,(i是大于1且小于n中所有的正整数)。 


  参考答案: 


  int fun(int n) 


  { 


  int s = 0, i ; 


  for(i = 2 ; i < n ; i++) if(n % i == 0) s +=i ; 


  return s ; 


  } 


  ※※※※※※※※※※※※※※※※※※※※※※※※

就业数据资源平台