模拟试题

3773考试网计算机等级考试模拟试题正文

2014年3月全国计算机二级C语言上机模拟试题二十八之3

来源:2exam.com 2013-10-30 20:32:17

解题思路: 

  第一处:由于x是整型指针变量,所以地址不能赋值给整型变量,因此必须取x地址上的值,所以应改为t=*x;*x=y;。 

  第二处:已交换后的值存放在t中,所以返回值应为return(t);。 

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

  请编写函数fun,它的功能是: 求出 1 到 1000 之间能被 7 或11整除、但不能同时被 7 和 11 整除的所有整数并将它们放在a所指的数组中,通过 n 返回这些数的个数。 

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

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

  给定源程序: 

  #include  

  void fun (int *a, int *n) 

  { 

  } 

  main( ) 

  { int aa[1000], n, k ; 

  fun ( aa, &n ) ; 

  for ( k = 0 ; k < n ; k++ ) 

  if((k + 1) % 10 == 0) printf("\n") ; 

  else printf("]", aa[k]) ; 

  NONO( ); 

  } 

  解题思路: 

  本题是利用for循环语句以及取模%运算来得出符合条件的整数并存入a所指的数组。 

  参考答案: 

  void fun (int *a, int *n) 

  { 

  int i ; 

  *n = 0 ; 

  for(i = 7 ; i < 1000 ; i++) 

  if(((i % 7) == 0 || (i % 11) == 0) && (i % 77) != 0) a[(*n)++] = i ; 

  } 

触屏版 电脑版
3773考试网 琼ICP备12003406号-1