烫烫烫的锟斤拷 发表于 2021-7-19 08:56:04

新人程序出问题啦,输出不对劲,求帮助~~

#include <stdio.h>

int main()
{
    int number;
    int beichushu;
    int i=1;//暂存结果,避免每次检测都要输出

    printf("请输入一个整数:");
    scanf("%d",&number);

    for(beichushu=2;beichushu<(number/2);beichushu++)
    {
      if(number%beichushu==0)
      {
            i=0;
      }
      else
      {
            i=1;
      }
    }
    if(i=0)
    {
      printf("该数字不是素数!\n");
    }
    else
    {
      printf("该数字是素数!\n");
    }

    return 0;
}

按说应该是判断输入是否为素数的程序,可为什么不管输入什么都显示“该数字是素数!”呐,难道是程序偷懒不判断了嘛{:10_266:}

一只咸鱼123 发表于 2021-7-19 09:23:00

第23行应该是 if(i == 0)

青出于蓝 发表于 2021-7-19 09:25:28

#include <stdio.h>

int main()
{
    int number;
    int beichushu;
    int i=1;//暂存结果,避免每次检测都要输出

    printf("请输入一个整数:");
    scanf("%d",&number);

    for(beichushu=2;beichushu<number;beichushu++)
    {
      if(number%beichushu==0)
      {
            i=0;
      }
    }
    if(i==0)
    {
      printf("该数字不是素数!\n");
    }
    else
    {
      printf("该数字是素数!\n");
    }

    return 0;
}

青出于蓝 发表于 2021-7-19 09:31:11

1,i==0
2,for循环内去掉else判断
页: [1]
查看完整版本: 新人程序出问题啦,输出不对劲,求帮助~~