Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. /*
  2. Lab exam winter semester 2016/2017.
  3. Lecture: IE-B1-SO1 (Software construction 1)
  4. */
  5. #define _CRT_SECURE_NO_DEPRECATE
  6. #include <stdio.h>
  7. #include <math.h>
  8.  
  9.  
  10. typedef enum
  11. {
  12. FALSE, TRUE
  13. }boolean;
  14.  
  15. /* Function prototypes */
  16. int isEven(int number);
  17. boolean isPrimeNumber(int number);
  18. void printPrime(int number);
  19.  
  20. int main(void)
  21. {
  22. int number;
  23. printf("Enter a positive integer: ");
  24. while ((scanf("%d", &number) == 0)||( number<=0 ))
  25. {
  26. printf("Invalid Input. Retry: ");
  27. while (getchar() == "/n")
  28. continue;
  29. }
  30. printPrime(number);
  31. getchar();
  32. getchar();
  33. getchar();
  34.  
  35. return 0;
  36. }
  37.  
  38. int isEven(int number)
  39. {
  40. if (number % 2 == 0)
  41. return TRUE;
  42. else
  43. return FALSE;
  44. }
  45.  
  46. boolean isPrimeNumber(int number)
  47. {
  48. if (number <= 1)
  49. {
  50. return FALSE;
  51. }
  52. else if ((number >= 4) && (isEven(number) == 1))
  53. {
  54. return FALSE;
  55. }
  56. else
  57. for (int m = 3; m <= (number / 2); m = m + 2)
  58. {
  59. if (number%m == 0)
  60. {
  61. return FALSE;
  62. }
  63. }
  64.  
  65. return TRUE;
  66.  
  67. }
  68.  
  69. void printPrime(int number)
  70. {
  71. int printCount = 0;
  72.  
  73. printf("Enter maximum number to test: %d\nPrime numbers in[1, %d]:\n", number, number);
  74.  
  75. for (int i = 1; i <= number; i++)
  76. {
  77. if (isPrimeNumber(i) == TRUE)
  78. {
  79. printf("%-5d", i);
  80. printCount++;
  81. }
  82. }
  83. if (printCount % 10 == 0)
  84. {
  85. printf("\n");
  86. }
  87.  
  88. printf("\nThere are %d prime numbers in [1, %d].", printCount, number);
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement