Program wczytujący liczby i wypisujący maksimum ich wartości bezwzględnych

0

Napisz program, który wczyta dwie liczby i wypisze maksimum ich wartości bezwzględnych. Czy dobrze zapisany jest ten program ?

 #include <stdio.h>
int main()
{
    int a, b;
    printf("wpisz liczby");
    scanf("%d%d", &a, &b);
    a > 0 ? a : -a;
    b > 0 ? b : -b;
    printf("%d%d", a, b);
    return 0;
}
0

Nie jest.

    a > 0 ? a : -a;
    b > 0 ? b : -b;

Nic tutaj nie robisz. Do tego jest funkcja abs();

printf("%d%d", a, b);

Masz wypisać maksimum wartości bezwzględnych, a Ty po prostu wypisujesz obie.

1
a > 0 ? a : -a;
b > 0 ? b : -b;

To nic nie robi, bo nie zapisujesz wyniku. Powinno być:

a = a > 0 ? a : -a;
b = b > 0 ? b : -b;

Albo

a = abs(a);
b = abs(b);
0

Jezeli nie masz lub wyłączysz optymalizator to poniższa wersja musi być najszybsza:

#include <stdio.h>

int main()
  {
   int a, b;
   printf("wpisz liczby: ");
   scanf("%d%d",&a,&b);
   if(a<0) a=-a;
   if(b<0) b=-b;
   printf("%d %d", a, b);
   return 0;
  }

1 użytkowników online, w tym zalogowanych: 0, gości: 1