c语言编程问题:求1到100的素数之和?

不能用isprime(i)和其它函数,开头只允许用〈math.h〉和〈stdio.h〉。求大佬回答!!!

/*

 不让用isprime等h系统函数,那就自己实现一个呗。甚至math.h都可以不用

 */

#include <stdio.h>

int isprime(int x){

    if(x==1){

        return 0;

    }

    int i;

    for(i=2;i*i<=x;i++){

        if(x%i==0){

            return 0;

        }

    }

    return 1;

}

int main(int argc, const char * argv[]) {

    //如果报错的话main函数里的参数可以删掉。

    int i,sum=0;

    for(i=2;i<=100;i++){

        if(isprime(i)){

            sum+=i;

        }

    }

    printf("%d\n",sum);

    return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-18

代码资料:

#include "stdio.h"

int main(int argc,char *argv[]){

int s,n,i;

for(s=2,n=3;n<100;n+=2){

for(i=3;i*i<=n;i+=2)

if(n%i==0)

break;

if(i*i>n)

  s+=n;

}

printf("The result is %d\n",s);

return 0;

}

本回答被网友采纳
第2个回答  2019-11-18

#include <stdio.h>

int main( )

{ int i,j,k,s=0;

  for(i=2; i<100; i++)

  { k=1;

    for(j=2; j*j<=i; j++)

      if(i%j==0)

      { k=0;

        break;

      }

    s+=k*i;

  }

  printf("%d\n",s);

  return 0;

}

追问

捕捉大佬!

本回答被提问者采纳