问答题 1.  请编写函数proc(),它的功能是:求出1~1000中能被5或13整除,但不能同时被5和13整除的所有整数,并将它们放在arr所指的数组中,通过n返回这些数。
    注意:部分源程序如下。
    请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
    试题程序:
    #include<conio.h>
    #include<stdio.h>
    #include<stdlib.h>
    void proc(int*arr,int*n)
    {
    }
    void main()
    {
    int arr[1000],n,k;
    system("CLS");
    proc(arr,&n);
    for(k=0;k<n;k++)
    if((k+1)%10==0)
    {
    printf("%5d",arr[k]);
    printf("\n");//一行写10个数
    }
    else
    printf("%5d",arr[k]);
    }
【正确答案】void proc(int *arr,int *n)
   {
   int i,j=0;
   for(i=1;i<=1000;i++)
   if((i%5==0||i%13==0)&&i%65!=0)
   //1~1000中能被5或13整除,但不能同时被5和13整除的所有整数
   arr[j++]=i;  //把符合条件的放到数组arr中,
   *n=j;  //最后把其个数通过形参中的指针变量返回给主函数
   }
【答案解析】 题目要求求出1~1000中能被5或13整除,但不能同时被5和13整除的所有整数。首先,应判断1~1000的每一个整数是否符合要求,将符合要求的每一个整数放入数组arr中;最后,将整数的个数作为形参返回给主函数。