Hello,
I'm trying to get a user to input 3 integers (including negatives) and then sort those three into ascending order. When i type in 4 -2 9 which is the example, i kept receiving -2 4 9 but no other examples would work. What's going on in my code? I tried something different for the second number being the largest. I think negative numbers are not being sorted correctly?
Code:
#include <stdio.h>
#include<stdlib.h>
#define MAX 10
int main()
{
char a[MAX];
char b[MAX];
char c[MAX];
int number1, number2, number3;
printf("Enter 3 integers separated by a space: ");
fflush(stdout);
scanf("%s %s %s", a, b, c);
number1=atoi(a);
number2=atoi(b);
number3=atoi(c);
//Cases where first number is the biggest
if (number1 >> number2 >> number3)
{
printf("%d %d %d\n", number1, number2, number3);
}
if (number1 >> number2 >> number3)
{
printf("%d %d %d\n", number1, number2, number3);
}
if (number1 >> number3 >> number2)
{
printf("%d %d %d\n", number1, number3, number2);
}
//Cases where second number is the biggest
if ((number2 >> number1) & (number2 >> number3) & (number1 >> number3))
{
printf("%d %d %d\n", number2, number1, number3);
}
if ((number2 >> number3) & (number2 >> number1) & (number3 >> number1))
{
printf("%d %d %d\n", number2, number3, number1);
}
//Cases where third number is the biggest
if (number3 >> number1 >> number2)
{
printf("%d %d %d\n", number3, number1, number2);
}
if (number3 >> number2 >> number1)
{
printf("%d %d %d\n", number3, number2, number1);
}
return 0;
}