1解:
#include
#include
int pr(int n)
{
int i;
for (i=2; i<=(int)sqrt(n); i++)
if (n%i==0) return 0;
return 1;
}
int main(void)
{
int i;
long int sum=0;
for (i=2; i<=100; i++)
sum+=pr(i)?i:0;
printf("%ld\n",sum);
return 0;
}
2解:
#include
int isPrime(int a)
void main()
{
int i,sum=0;
for(i=1;i<=100;i++)
{
if(isPrime(i))
sum+=i;
}
printf("100以内所有素数的和为:\n%d\n",sum);
}
int isPrime(int num)
{
int i,tag=1;
for(i=2;tag&&i<=num/2;i++)
if(num%i==0)
tag=0;
return tag;
}