微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

编写一个接受正整数作为输入的程序,然后显示小于或等于该数字的所有素数

#include <stdio.h>
#include <stdbool.h>

void flush_input_buffer(void);

int main(void){
  bool prime_flag;
  int limit;
  printf(Enter a positive integer: \n);

  while (scanf(%d, &limit) != 1 || limit < 1){
    flush_input_buffer();
    printf(Enter a positive integer: \n);
  }

  for (int i = 2; i <= limit; i++){
    prime_flag = true;
    for (int j = 2; j < i; j++) // for all j less than i ...
    {
      if (i % j == 0) // if i is divisible by j ...
      {
        prime_flag = false; // then i is not prime
        break; // break out of inner loop
      }
    }
    if (prime_flag)
      printf(%d is prime.\n, i);
  }

  return 0;
}

void flush_input_buffer(void)
{
  while (getchar() != '\n')
    ;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐