问下各位我的代码哪里错了(求范围内的素数和)

我先求出第n个素数值,然后继续往下求第n+1个直到第m个,如果是素数就累加起来,但是提交系统说不对

img


#include <stdio.h>
int main()
{
    int i,p,num=2,count=0,n,m,s;
    scanf("%d %d",&n,&m);
    while(count<n){
        p=1;
        for(i=2;i<num;i++){
            if(num%i==0){
                p=0;
            }
            break;
        }
        if(p==1){
            count++;
        }
        s=num;
        num++;
    }
    while(count<m){
        p=1;
        for(i=2;i<num;i++){
            if(num%i==0){
                p=0;
            }
            break;
        }
        if(p==1){
            count++;
            s+=num;
    }
    num++;
}
    printf("%d",s);
    return 0;
}
 
 
  1. 计算第n个数到第m个数之间所有的素数的和
    #include<stdio.h>
    using namespace std;
    int main()
    {    
     //int N;
     //scanf("%d", &N);
     int n, m;
     
     scanf("%d%d",&n,&m);
     
     int sum = 0;
    
     for (int i = n; i <= m; ++i)
     {
         int count = 0;
         for (int j = 2; j < i; ++j)
         {
             if (i % j == 0)
             {
                 count += 1;
                 break;
             }
         }
         if (count == 0){
             printf("%d为质数\n", i);
             sum += i;
         }
     }
     
     printf("%d", sum);
    
     return 0; 
    }
    

img


  1. 计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数
#include<stdio.h>
using namespace std;
int main()
{    
    //int N;
    //scanf("%d", &N);
    int n, m;
    
    scanf("%d%d",&n,&m);
    
    int sum = 0;
    
    int i = 1;
    int N = 2;
 
    while(1)
    {
        int count = 0;
        for (int j = 2; j < N; ++j)
        {
            if (N % j == 0)
            {
                count += 1;
                break;
            }
        }
        if (count == 0){
            printf("%d为质数\n", N);
            if(i >= n && i <= m)
            {
                printf("%d为质数,是第%d个质数\n", N,i);
                sum += N;
            }
            i++;
        }
        N++;
        if (i > m)
            break;
    }
    
    printf("%d", sum);
 
    return 0; 
}

img

现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。