2301_76346877 2023-02-02 20:00 采纳率: 60%
浏览 43
已结题

输出指定范围里面的素数{运行结果不是预期结果}


#include<stdio.h>
int main()
{
int i;
printf(“输入开头的数字:");
scanf_S(“%d”, &i);
int j;
printf(“输入结尾的数字:“);
scanf_s(“%d”,&j);
int temp;
for(temp = 2;temp<i;temp++)
{
if (i /temp == 0)
break;
}
if(temp=i)
{
printf(“%d”,i);
}


  • 写回答

4条回答 默认 最新

  • a5156520 2023-02-02 20:14
    关注

    应该是因为两个原因导致输出不达预期,一是没有指定区间来遍历i到j之间的所有数,二是因为求素数的算法错误之处,如第14行的i/temp要改为i%temp,使用Dev-C++ 5.11, 测试如下:

    参考链接:
    https://easylearn.baidu.com/edu-page/tiangong/questiondetail?id=1727062311914032128&fr=search

    
    #include<stdio.h>
    int main()
    {
        int i;
        printf("输入开头的数字:");
        scanf("%d", &i);
        int j;
        printf("输入结尾的数字:");
        scanf("%d",&j);
        int temp;
        
        int k;
        for(k=i;k<=j;k++){ // 遍历i到j之间的所有整数 
            
            // 判断当前的数k是否为素数 
            for(temp = 2;temp<k;temp++) 
            {
                if (k %temp == 0){ // 如果当前的数可以整除2到k-1之间的任意一个数,则不是素数 
                    break;
                }
                    
            }
            if(temp==k) // 如果temp判断到k,则说明k是素数 
         
            {
                printf("%d ",k);
            }
            
        }
        
    }
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 2月12日
  • 已采纳回答 2月4日
  • 创建了问题 2月2日

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?