Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Orders 3 integers without using if statements, while loops
- //Johnathan Yan z5207830
- //16-03-18
- #include <stdio.h>
- int main (void) {
- int num1, num2, num3;
- printf("Enter integer: ");
- scanf("%d", &num1);
- printf("Enter integer: ");
- scanf("%d", &num2);
- printf("Enter integer: ");
- scanf("%d", &num3);
- int lowNumCheck1 = (num1 < num2) && (num1 < num3);
- int lowNumCheck2 = (num2 < num1) && (num2 < num3);
- int lowNumCheck3 = (num3 < num1) && (num3 < num2);
- int lowNum = (lowNumCheck1 * num1) + (lowNumCheck2 * num2) + (lowNumCheck3 * num3);
- int midNumCheck1 = ((num1 < num2) && (num1 > num3)) || ((num1 > num2) && (num1 < num3));
- int midNumCheck2 = ((num2 < num1) && (num2 > num3)) || ((num2 > num1) && (num2 < num3));
- int midNumCheck3 = ((num3 < num1) && (num3 > num2)) || ((num3 > num1) && (num3 < num2));
- int midNum = (midNumCheck1 * num1) + (midNumCheck2 * num2) + (midNumCheck3 * num3);
- int highNumCheck1 = (num1 > num2) && (num1 > num3);
- int highNumCheck2 = (num2 > num1) && (num2 > num3);
- int highNumCheck3 = (num3 > num1) && (num3 > num2);
- int highNum = (highNumCheck1 * num1) + (highNumCheck2 * num2) + (highNumCheck3 * num3);
- int _1and2Equal = (num1 == num2) && (num1 != num3);
- int _1and2Check1 = (num1 > num3) && (_1and2Equal == 1);
- int _1and2Check2 = (num1 < num3) && (_1and2Equal == 1);
- midNum = midNum + (num1 * _1and2Check1);
- highNum = highNum + (num1 * _1and2Check1);
- lowNum = lowNum + (num1 * _1and2Check2);
- midNum = midNum + (num1 * _1and2Check2);
- int _2and3Equal = (num2 == num3) && (num2 != num1);
- int _2and3Check1 = (num2 > num1) && (_2and3Equal == 1);
- int _2and3Check2 = (num2 < num1) && (_2and3Equal == 1);
- midNum = midNum + (num2 * _2and3Check1);
- highNum = highNum + (num2 * _2and3Check1);
- lowNum = lowNum + (num2 * _2and3Check2);
- midNum = midNum + (num2 * _2and3Check2);
- int _1and3Equal = (num1 == num3) && (num1 != num2);
- int _1and3Check1 = (num1 > num2) && (_1and3Equal == 1);
- int _1and3Check2 = (num1 < num2) && (_1and3Equal == 1);
- midNum = midNum + (num1 * _1and3Check1);
- highNum = highNum + (num1 * _1and3Check1);
- lowNum = lowNum + (num1 * _1and3Check2);
- midNum = midNum + (num1 * _1and3Check2);
- int tripleEqual = (num1 == num2) && (num1 == num3);
- lowNum = lowNum + (num1 * tripleEqual);
- midNum = midNum + (num1 * tripleEqual);
- highNum = highNum + (num1 * tripleEqual);
- printf("The integers in order are: %d %d %d\n", lowNum, midNum, highNum);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement