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

admin2010-05-05  30

问题 请编写一个函数fun(),它的功能是:求出1到m(含m)之内能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。
   例如,若传给m的值为50,则程序输出:
   7  11  14  21  X 28  33  35 42 44 49
   注意:部分源程序给出如下。
   请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
   试题程序:
   #include<conio.h>
   #include<stdio.h>
   #define M 100
   void fun(int m, int *a, int *n)
   {

   }
   main()
   {
     int aa[M],n,k;
     clrscr();
     fun(50,aa,&n);
     for(k=0;k<n; k++)
       if((k+1)%20==0)  /*每行输出20个数*/
         {printf("%4d",aa[k]);
          printf("\n");
         }
       else
         printf("%4d",aa[k]);
     printf("\n");
   }

选项

答案void fun(int m,int *a,int *n) { int i,j=0; for(i=1;i<=m;i++) if(i%7==0||i%11==0) /*求出1到m(含m)之内能被7或11整除的所有整数放在数组a中*/ a[j++]=i; *n=j; /*返回这些数的个数*/ }

解析 本题要找出能被7或11整除的所有整数,注意数学中的“或”和C语言中的“或”的区别,但在此处,if条件语句中用了“||”运算符,若要找能同时被7和11整除的所有整数则在if()中应用“&&”运算符。
转载请注明原文地址:https://jikaoti.com/ti/fSkiFFFM
0

最新回复(0)