Можно предположить, в чем дело. Смотрите. Вы объявляете:
Код:
double n[6];
double a[6];
double k[6];
При этом в памяти отводится место под 18 объектов типа double, доступ к ним должен осуществляться так: a[0]...a[5], n[0]...n[5] и так далее. Как эти массивы друг относительно друга расположены - может зависеть от компилятора. Когда Вы прописываете значение n[6], то выходите за границу своего массива. Например, если за ним следует массив a, то это повлияет на a[0]. А может повредить другие данные. Это плохая ошибка, за этими вещами нужно внимательно следить.
Добавлено спустя 49 секунд:
А в функции printf попробуйте написать %lg