编写一个接受正整数作为输入的程序,然后显示

#include stdio.h#include stdbool.hvoid flush_input_buffer(void);int main(void){bool prime_flag;

编程学习网为您整理以下代码实例,主要实现:编写一个接受正整数作为输入的程序,然后显示小于或等于该数字的所有素数。,希望可以帮到各位朋友。

#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')
    ;
}

本文标题为:编写一个接受正整数作为输入的程序,然后显示

基础教程推荐