就业数据资源平台
当前位置:首页 > C语言程序设计
2011年计算机二级C语言十套上机题9

2011年计算机二级C语言十套上机题9


3. 编程题


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


  注意:部分源程序给出如下。


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


  试题程序:


  #include <conio.h>


  #include <stdio.h>


  void fun(int *a,int *n)


  {


  


  }


  main( )


  {


  int aa[1000], n, k;


  clrscr( );


  fun(aa,&n);


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


  if((k+1)%10==0)


  {


  printf("%5d ",aa[k]);


  printf("\n "); /*一行写10个数*/


  }


  else


  printf("%5d ",aa[k]);


  }


  答案及评析:void fun(int *a,int *n)


  {int i,j=0;


  for(i=1;i<=1000;i++) /*求1到1000之内能被5或13整除、但不能同时被5和13整除的所有整数,并放入数组a中*/


  if((i%5==0||i%13==0)&&i%65!=0)


  a[j++]=i;


  *n=j; /*传回满足条件的数的个数*/


  }


  【解析】注意本题题目是找出能被5或13整除但不能同时被5和13整除的所有整数。能同时被5和13整除的整数一定能被65整除,且不能被65整除的数不一定就是能被5或13整除的数。所以可得出程序中的if()。按运算优先级可知(i%5==0||i%13==0),注意,两边必须要有小括号。

就业数据资源平台