Advertisement
Guest User

Untitled

a guest
Mar 18th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.57 KB | None | 0 0
  1. //Orders 3 integers without using if statements, while loops
  2. //Johnathan Yan z5207830
  3. //16-03-18
  4.  
  5. #include <stdio.h>
  6.  
  7. int main (void) {
  8. int num1, num2, num3;
  9. printf("Enter integer: ");
  10. scanf("%d", &num1);
  11. printf("Enter integer: ");
  12. scanf("%d", &num2);
  13. printf("Enter integer: ");
  14. scanf("%d", &num3);
  15.  
  16. int lowNumCheck1 = (num1 < num2) && (num1 < num3);
  17. int lowNumCheck2 = (num2 < num1) && (num2 < num3);
  18. int lowNumCheck3 = (num3 < num1) && (num3 < num2);
  19. int lowNum = (lowNumCheck1 * num1) + (lowNumCheck2 * num2) + (lowNumCheck3 * num3);
  20.  
  21. int midNumCheck1 = ((num1 < num2) && (num1 > num3)) || ((num1 > num2) && (num1 < num3));
  22. int midNumCheck2 = ((num2 < num1) && (num2 > num3)) || ((num2 > num1) && (num2 < num3));
  23. int midNumCheck3 = ((num3 < num1) && (num3 > num2)) || ((num3 > num1) && (num3 < num2));
  24. int midNum = (midNumCheck1 * num1) + (midNumCheck2 * num2) + (midNumCheck3 * num3);
  25.  
  26. int highNumCheck1 = (num1 > num2) && (num1 > num3);
  27. int highNumCheck2 = (num2 > num1) && (num2 > num3);
  28. int highNumCheck3 = (num3 > num1) && (num3 > num2);
  29. int highNum = (highNumCheck1 * num1) + (highNumCheck2 * num2) + (highNumCheck3 * num3);
  30.  
  31. int _1and2Equal = (num1 == num2) && (num1 != num3);
  32. int _1and2Check1 = (num1 > num3) && (_1and2Equal == 1);
  33. int _1and2Check2 = (num1 < num3) && (_1and2Equal == 1);
  34. midNum = midNum + (num1 * _1and2Check1);
  35. highNum = highNum + (num1 * _1and2Check1);
  36. lowNum = lowNum + (num1 * _1and2Check2);
  37. midNum = midNum + (num1 * _1and2Check2);
  38.  
  39. int _2and3Equal = (num2 == num3) && (num2 != num1);
  40. int _2and3Check1 = (num2 > num1) && (_2and3Equal == 1);
  41. int _2and3Check2 = (num2 < num1) && (_2and3Equal == 1);
  42. midNum = midNum + (num2 * _2and3Check1);
  43. highNum = highNum + (num2 * _2and3Check1);
  44. lowNum = lowNum + (num2 * _2and3Check2);
  45. midNum = midNum + (num2 * _2and3Check2);
  46.  
  47. int _1and3Equal = (num1 == num3) && (num1 != num2);
  48. int _1and3Check1 = (num1 > num2) && (_1and3Equal == 1);
  49. int _1and3Check2 = (num1 < num2) && (_1and3Equal == 1);
  50. midNum = midNum + (num1 * _1and3Check1);
  51. highNum = highNum + (num1 * _1and3Check1);
  52. lowNum = lowNum + (num1 * _1and3Check2);
  53. midNum = midNum + (num1 * _1and3Check2);
  54.  
  55. int tripleEqual = (num1 == num2) && (num1 == num3);
  56. lowNum = lowNum + (num1 * tripleEqual);
  57. midNum = midNum + (num1 * tripleEqual);
  58. highNum = highNum + (num1 * tripleEqual);
  59.  
  60. printf("The integers in order are: %d %d %d\n", lowNum, midNum, highNum);
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement