4
素数求和(4分)
题目内容:
从键盘任意输入一个整数n,编程计算并输出1~n之间的所有素数之和。
函数原型:int IsPrime(int x);
函数功能:判断x是否是素数,若函数返回0,则表示不是素数,若返回1,则代表是素数
程序运行结果示例1:
Input n:8↙
sum=17
程序运行结果示例2:
Input n:10↙
sum=17
程序运行结果示例3:
Input n:-12↙
sum=0
输入提示信息:"Input n:"
输入格式:"%d"
输出格式:"sum=%d\n"
#include <stdio.h>
int IsPrime(int i)
{
int j,r;
for(j=2;j<i;j++)
{
r=i%j;
if(r==0) {return 0;goto END;}
else continue;
}
return 1;
END: ;
}
int main()
{
int n, sum=0,i,a;
printf("Input n:");
scanf("%d", &n);
if(n<=0) printf("sum=0\n");
else
{
for(i=2;i<=n;i++)
{
a = IsPrime(i);
if (a == 1)
{
sum +=i;
}
}
printf("sum=%d\n",sum);
return 0;}
}