二诗的Adidas 发表于 2021-3-31 17:35

C语言|素数求和

本帖最后由 二诗的Adidas 于 2021-3-31 17:53 编辑

题目内容:我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
我的代码是:

#include <stdio.h>
int main(){
    int i,j,m,n;
    int count = 0,sum=0;
    do{
      scanf("%d %d",&n,&m);
    }while(n<0&&n>m&&m>200);
    for(i=2; i<201;i++)
    {
      int isprime = 1;
      for(j=2;j<i;j++)
      {
            if(i%j == 0)
            {
                isprime =0;
                break;
            }
      }
      if(isprime ==1)
      {
            count ++;
            if(count>=n)
      {
            sum+=i;
      }
      }
      
    }
    printf("%d\n",sum);
    return 0;
}

不知道哪里错了




ps:程序不用数组

HULANG-BTB 发表于 2021-3-31 18:01

for循环 for(i = 2; count <= m; i++)
你的i提前结束了

孤城。 发表于 2021-3-31 22:29

楼上正解
页: [1]
查看完整版本: C语言|素数求和