re怠惰的未禾 2021-12-17 17:07 采纳率: 75%
浏览 166
已结题

输入整数n和n个正整数,输出其中所有素数,若没有则输出no

#include<stdio.h>
#include<math.h>

int main(void)
{
int flag,i,j,n,m,x;

x=0;
scanf("%d", &n);//输入整数n
flag=1;

for(i=0;i<n;i++)//输入n个整数并依次判断是否是素数并输出
{
    scanf("%d", &m)
    for(j=2;j<sqrt(m);j++)
    {
        if(m%j==0||m==1)
        {
            flag=0;
        }
    }
    if(flag==1)
    {
        x++;
        printf("%d ", m);
    }
    flag=1;
}

if(x==0)
    printf("no");

return 0;

}
内循环中if语句好像没有执行︽⊙_⊙︽

另一个问题,内层循环条件换为if(m%j==0|| m==1)为何结果不对٩(๑^o^๑)۶

  • 写回答

1条回答 默认 最新

  • 关注

    代码修改如下:

    #include <stdio.h>
    #include <math.h>
    int main()
    {
        int flag,i,j,m,n,x;
        x=0;
        scanf("%d",&n);
        flag = 1;
        for (i=0;i<n;i++)
        {
            flag = 1;
            scanf("%d",&m);
            if(m<2) 
            {
                continue;
            }
            for (j=2;j<=sqrt((double)m);j++) //这里是 <=
            {
                if(m%j==0)
                {
                    flag = 0;
                    break;
                }
            }
            if(flag == 1)
            {
                x++;
                printf("%d ",m);
            }
        }
        if (x==0)
            printf("no");
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月25日
  • 已采纳回答 12月17日
  • 修改了问题 12月17日
  • 修改了问题 12月17日
  • 展开全部

悬赏问题

  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?