问题 问答题

编写函数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[i]);

答案

参考答案:

void fun(int *a, int *n)

{

int i, j=0;

for(i=A; i<=A000; i++)

if((i%G=0 ||i%AA==0)&&i%GG!=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语句。

选择题
选择题