编写函数统计1000以内素数个数以及之和

来源:百度知道 编辑:UC知道 时间:2024/06/15 20:25:44
#include<math.h>
#include<stdio.h>
main()
{
int a=0,k,count=0,s=0;

for(k=2;k<=1000;k++)
{ if(fun(k))
s+=k;
count++;
}
printf("s=%d,count=%d\n",s,count);
}

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;
}

我这样写有什么错误? 能帮我写一个正确的嘛? 谢谢啦!!!

第一,fun函数应该先声明:
int fun(int n);//放在main()这一行之上
第二,fun函数的定义应该修改一下:
int fun(int n){
int i,y=0;
for(i=2;i<n;i++)
{if(n%i==0)
{y=1;
break;
}
}
return y;
}

你的算法思想没有错误,修改一下细节再调试一下。
希望可以帮到你~