快乐打码 2023-01-13 19:40 采纳率: 69.8%
浏览 24
已结题

区间内素数(输出素数)请问我这样做存在什么问题,要怎么改正

任务描述
编程输入两个整数a,b(2<=a<b),输出整数区间[a,b]内的所有素数(测试数据中保证区间内有素数)。

输入格式
两个整数a和b。

输出格式
区间[a,b]内的所有素数,逗号分隔。

输入样例:
2 31
输出样例:
2,3,5,7,11,13,17,19,23,29,31
输入样例:
100 110
输出样例:
101,103,107,109


#include<stdio.h>
int main(){
    int a,b,i,j,c=0;
    for(i=a;i<b;i++){
        c=0;
        for(j=1;j<i;j++){
            if(i%j!=0){
                if(c==0){
                    printf("%d",j);
                    c=1;
                }else{
                    printf(",%d",j);
                }
            }
        }
    }
    return 0;
}
  • 写回答

2条回答 默认 最新

  • 谛凌 2023-01-13 19:47
    关注

    应该等判断完了再输出,你这是每一次判断都输出了

     
    #include<stdio.h>
    int main(){
        int a,b,i,j,c=0;
        scanf("%d %d", &a,&b);
        for(i=a;i<=b;i++){
            int flag = 1;
            if(i<2) flag=0;
            for(j=2;j<i;j++){
                if(i%j==0){
                    flag = 0;
                    break;
                }
            }
            if(flag){
                if(c==0){
                    printf("%d",i);
                    c=1;
                }else{
                    printf(",%d",i);
                }
            }
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月21日
  • 已采纳回答 1月13日
  • 创建了问题 1月13日

悬赏问题

  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错
  • ¥15 换yum源但仍然用不了httpd
  • ¥50 C# 使用DEVMOD设置打印机首选项
  • ¥15 麒麟V10 arm安装gdal
  • ¥20 OPENVPN连接问题