模拟试题

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

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

来源:2exam.com 2013-10-30 20:14:37

解题思路: 

  第一处:语句后缺少分号。 

  第二处:保存最小值的位置,所以应改为:p = i;。 

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

  请编写一个函数fun,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。例如,若传送给m的值为50,则程序 

  输出:7 11 14 21 22 28 33 35 42 44 49 

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

  请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入 

  你编写的若干语句。 

  给定源程序: 

  #include  

  #define M 100 

  void fun ( int m, int *a , int *n ) 

  { 

  } 

  main( ) 

  { int aa[M], n, k; 

  fun ( 50, aa, &n ); 

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

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

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

  printf("\n") ; 

  NONO( ); 

  } 

  解题思路: 

  本题是考察考生对某个数能被其他的数整除方式,并把符合条件的数存放在数组a中。 我们给出的程序是使用for循环语句以及取模的方式来解决这个问题的。 

  参考答案: 

  #include  

  #define M 100 

  void fun ( int m, int *a , int *n ) 

  { 

  int i ; 

  *n=0 ; 

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

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

  } 

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