跪求C语言编程-数学问题!!

来源:百度知道 编辑:UC知道 时间:2024/05/23 02:10:54
请编写函数void countvalue(int *a, int *n),它的功能是:求出1到1000之内能被7或11整除但不能同时被7和11整除的所有整数放在数组a中,并通过n返回这些数的个数。要求三个以上函数完成程序。

拜托了 各位大虾!!!

#include<iostream>
using namespace std;
bool seven(int x)
{
if (x%7==0)
return true;
else
return false;
}
bool eleven(int x)
{
if (x%11==0)
return true;
else
return false;
}
bool sevenandeleven(int x)
{
if (x%77==0)
return true;
else
return false;
}
void countvalue(int *a, int *n)
{
int k=0;
for (int i=1;i<=1000;i++)
{
if ( (seven(i)||eleven(i)) && !(sevenandeleven(i)) )
{
a[k] = i;
k++;
}
}
*n = k;
}
void main()
{
int a[1000],k,*n=&k;
countvalue(a,n);
printf("共有%d个,依次如下:\n",k);
for (int i=0; i<k; i++)
{
printf("%d\t",a[i]);
}
}

楼上的程序基本是对的。

但我记得C里面好像不可以在申明时同时赋值的吧?若这样的话,则它的主函数:
void main()
{
int a[1000],k,*n=&k;
countvalue(a,n);
}