Uważaj, bo równie dobrze może to rozwijać praktyczną umiejętność bezrozumnego kopiowania cudzego kodu
Jeżeli jednak będziesz ostrożny - dobry pomysł.
Masz niezbyt estetyczny kod. Najbardziej razi mnie klamrowanie w mainie - pierwszy for jest bez wcięć.
Masz funkcję float (na SPOJu używaj raczej double, ale mniejsza teraz o to) więc powinieneś zwracać zmienną tego samego typu, np. 3.14. Tymczasem zwracasz return odl_mix, a odl_mix jest tablicą zmiennych, a nie zmienną! Prawidłowy zapis to np. odl_mix[3] czyli zwracasz konkretną liczbę z całej tablicy.
Intuicja Cię nie zawodzi - błąd jest analogiczny. W związku z tym Tobie zostawiam jego poprawienie 
PS
Wszedłem na forum zobaczyć co ciekawego się tutaj dzieje odkąd zniknąłem, ale świat studiów jeszcze przez pewien czas wymusza moją nieobecność więc ewentualne dalsze pytania kieruj do innych. No i powodzenia 
PS2
Nie do końca rozumiem skąd biorą się Twoje trudności.
if (x[i]<0) x[i]=x[i]*(-1);
if (y[i]<0) y[i]=y[i]*(-1);
odl[i]= sqrt((x*x)+(y*y));
Pierwsze dwa ify sugerują, że rozumiesz, iż x oraz y są tablicami. Z pewnością masz jakieś pojęcie o tablicach, czego dowodzi zapis int x[liczby-1]. Domyślam się, że odejmowanie jedności związane jest z numeracją od zera - wielki plus, że o tym pamiętasz. Mimo to pierwiastkując niejako zapominasz, że x i y to tablice i zamiast napisać x[i] oraz y[i] napisałeś x i y...