C语言自写函数问题

发布时间:2024-05-14 02:33 发布:上海旅游网

问题描述:

我想写一个判断素数的程序,用到了自写函数。源代码如下:
#include "math.h"
main()
{
int a=0,n;
float av;
for(n=2;n<=10;n++)
{
if(fun(n)==0)
a+=n;
}
av=a/10;
printf("av=%f\n",av);
}
fun(int n)
{
int i,y=0;
for(i=2;i<n;i++)
if(n%i==0) y=1;
else y=0;
return y;
}
不过就是不出正确结果。好像是函数返回时的错误。因为程序总是从2到10累加求和,而不是素数累加求和。我想可能是函数返回时不对,但我怎么改都改不过来,请诸位达人帮帮忙,谢谢了!

问题解答:

自定义函数在使用前需要声明,或者把main函数写在所有自定义函数的最后面
你求素数编写的函数都错了
fun(int n)
{
int i;
for(i=2;i<=n;i++)
if(n%i==0)break;
if(i==n)return 0;else return 1;
}

int fun(int n)
{
int i,y=0;
for(i=2;i<n;i++) {
if(n%i==0) {y=1; break;}
else y=0;
}
return y;
}

热点新闻