c - 查找素数给我带来错误

标签 c

我想打印给定数字范围的除数。工作正常。但是当我尝试修改它以将 **** 放在素数除数的末尾时,它的行为就很奇怪。

#include <stdio.h>
int main()
{
    int     a,start,rounds,b,c,k=0;

    printf("Please enter a number to start :");
    scanf("%d",&start);
    printf("Please enter how many numbers you want to print from that number :");
    fflush(stdin);
    scanf("%d",&rounds);

    for(a=start;a<=start+rounds;a++)
    {
         printf("\n\nThe divisors of number :%d are \n",a);

         for(b=1;b<=a;b++)
         {
             c=a%b;
             if(!c)
             {
                  k++;
                  printf("%d\n",b);
             }
          }
          //printf("%d",k);
          if((k==2)||(k==1))
             printf("***\n");
    }
    getchar();
    return 0;
}

PS:- 我用来查找质数的技巧是计算在循环结束之前执行了多少 printf 语句。难道有什么不妥吗?当我从 printf 语句中删除 // 时,它会打印如下。

start=========>k

  1   =========>1

  2   =========>3

  3   =========>5

  4   =========>8

  5   =========>10

这是为什么?

最佳答案

if((k==2)&&(k==1))

在当今的计算机中,k 不可能同时为 21。也许你的意思是说 k 是 2 OR k 是 1 吗?

关于c - 查找素数给我带来错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15828115/

相关文章:

c - 将 scanf 与 char 数组及其大小一起使用

c - 用 C 语言实现多线程按键事件

c - 动态二维数组转静态数组

c - 如何在我的 shell 中使用 dup2() 和 pipeline() 实现 "ls | wc"?

我可以使用 memcmp 检查结构中的非零成员吗?

c - 忽略scanf的返回值

c - 用于大小分析的 GCC 工具?

c - Arduino Drone项目,当输出为 "loaded"(甚至上限为gnd)时,输入 "steering"命令开始出现故障

c - 想了解内存泄漏的不同场景

计数预处理器宏可能吗?