循环嵌套法:
#include <stdio.h>
#define MAX_LEN 10
#define N 150
#include<string.h>
#include<stdlib.h>
int judge(int i);
int main()
{
int n,i,k;
int sum=0;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
k=0;
for(int j=2;j<i-1;j++)
{
if(i%j==0)
{
k=1;
}
}
if(k==0)
{
sum+=i;
}
}
printf("%d\n",sum);
return 0;
}
函数数组法:
#include <stdio.h>
#define MAX_LEN 10
#define N 150
#include<string.h>
#include<stdlib.h>
int judge(int i);
int main()
{
int n,i,k,b=0;
int sum=0;
int a[1000];
scanf("%d",&n);
for(i=2;i<=n;i++)
{
k=judge(i);
a[b]=k;
b++;
}
for(int j=0;j<b;j++)
{
sum+=a[j];
}
printf("%d\n",sum);
return 0;
}
int judge(int i)
{
for(int j=2;j<i-1;j++)
{
if(i%j==0)
{
return 0;
}
}
return i;
}