PTA中7-33 统计素数并求和问题,答案与例题一样,却只能拿两分,不知道问题出在哪。

上面题目截图,下面是我的代码。
PTA中7-33 统计素数并求和问题,答案与例题一样,却只能拿两分,不知道问题出在哪。希望能帮我看看,刚学c没多久,可能没排好。这个写了一下午,求帮忙。

img

img

img

img

img

img

你上面函数申明都是f函数,下面实现却是f1和f2,怎么会好用的呢?

你直接从m循环到n就好啦,不需要分别计算2到m和2到n的值再相减
参考代码

#include<stdio.h>
#include<math.h>
int isprime(int n){
    int i,isprime=1;
    if(n<2){
        isprime=0;
    }
    else{
        for(i=2;i<=sqrt(n);i++){
            if(n%i==0){
                isprime=0;
                break;
            }
        }
    }
    return isprime;
}
int main(){
    int M,N;
    scanf("%d %d",&M,&N);
    int i,cnt=0,sum=0;
    for(i=M;i<=N;i++){
        if(isprime(i)){
            cnt++;
            sum+=i;
        }
    }
    printf("%d %d",cnt,sum);
    return 0;
}

(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

img


这是我程序跑例子的图,答案一样,不知道哪错了。

题主不要着急,这是pta的小毛病,我也遇到很多这种问题了,只能认栽了,但是你知道你代码没问题就行了,这才是关键,不用纠结哪个分数。