编写函数fun(),它的功能是:求出1~1000之内能被7或11整除,但不能同时被7和11整除的所有整数,并将它们放在a所指的数组中,通过n返回这些数的个数。 [注意] 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函

admin2010-11-26  14

问题 编写函数fun(),它的功能是:求出1~1000之内能被7或11整除,但不能同时被7和11整除的所有整数,并将它们放在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");
   }
   else
   printf("%5d", aa);
   }

选项

答案void fun(int *a, int *n) { int i, j=0; for(i=1; i<=1000; i++) if((i%7=0 ||i%11==0)&&i%77!=0) a[j++]=i; *n=j; }

解析 本题的关键是if条件语句及参数传递。本题的设计思路是:(1)利用循环遍历1到1000之内的整数;(2)利用if语句判断,把查找到的整数保存到形参数组a中;(3)把数组a中数组元素的个数赋值到形参指针n所指的内存。注意程序中if语句的判断条件,本题是找出能被7或11整除但不能同时被7和11整除的所有整数。能同时被7和11整除的数一定能被77整除,且不能被7整除的数不一定就是能被7或11整除的数。所以,可得出程序中的if语句。
转载请注明原文地址:https://kaotiyun.com/show/nJID777K
0

最新回复(0)