荔荔大魔王 2021-07-14 16:19 采纳率: 75%
浏览 14
已结题

为什么不能进行多组数据测试

#include <stdio.h>
int ret=1;
int isprime(int x);
int main()
{
int a,b;
scanf("%d %d",&a,&b);
int i;
int cnt=0;
while(scanf("%d %d\n",&a,&b)!=EOF){
for(i=a;i<=b;i++){
if(isprime(i)){
cnt++;
}
}
printf("%d\n",cnt);
}
return 0;
}
int isprime(int x){
int i;
for(i=2;i<x-1;i++){
if(x%i==0){
ret=0;
break;
}
}
}

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2021-07-14 17:18
    关注

    修改如下,供参考:

    #include <stdio.h>
    //int ret=1;
    int isprime(int x);
    int main()
    {
        int a,b;
        //scanf("%d %d",&a,&b);
        int i;
        int cnt=0;
        while(scanf("%d %d",&a,&b)!=EOF){//while(scanf("%d %d\n",&a,&b)!=EOF){
                     cnt = 0;
                     for(i=a;i<=b;i++){
                         if(isprime(i)){
                                  cnt++;
                         }
                     }
                     printf("%d\n",cnt);
        }
        return 0;
    }
    int isprime(int x){
        int i,ret=1;
        if(x<2) ret=0;
        for(i=2;i<x-1;i++){
               if(x%i==0){
                    ret=0;
                    break;
               }
        }
        return ret;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月24日
  • 已采纳回答 8月16日
  • 创建了问题 7月14日