Другие языки программирования и технологии

Критика программы, написанной на языке C

Вот код:

http://pastebin.com/JhcqtLve

Жду критики: что неправильно, как лучше реализовать, хромает ли оформление кода (если да, где)

Спасибо.
Krasavchik !!!!!
Krasavchik !!!!!
79
старайтесь как можно реже использовать константы

#include <stdio.h>
int main()
{
float sum,numbers[]={2.5, 4.6, 2.6, 12.5, 34.34, 65.7, 21.3, 6.7, 45.3, 3.5};
int i,s=sizeof numbers/sizeof(float);
for(sum=i=0;i < s;sum+=numbers[i++]);
printf( "%f\n",sum/=s);
return 0;
}

заметьте, что в этом случае Вы можете добавлять в массив ещё данные, но остальную часть программы при этом переделывать не потребуется
Камиль Маудинов
Камиль Маудинов
76 473
Лучший ответ
я предпочитаю задавать начальным первое из массива - чуть меньше цикла получится крутить: доли процента скорости, но иногда критично.

выносить границы массивов ( и вообще циклов и подобного) в отдельные переменные, а не влоб прописывать их в алгоритме -критично для многого, добавить одно в массив и жесткий алгоритм грохнется.

стараюсь использовать не float, а double. обычно важнее точность, а не экономия памяти, но тут уж от задачи зависит.

и можно писать в стиле "одна строка - одно действие"(тут уж просто личная привычка побольше логики в один экран, чтоб не прокручивать - и кому как - хоть большинство учебников требуют каждую скобку в отдельную строку выносить, но это удобно только на мелких учебных прогах. а как система из сотни файлов по тысяче строк, то мешает)

я бы писала примерно так:
if( n){for ( sredn= numbers[ 0], i = 1; i < n; i++ ) sredn += numbers[ i]; sredn /= n;};

А в целом вроде ляпов не видно и всё хорошо.
ВТ
Вадим Ткачук
27 060
переменные лучше вводить самому, а не в коде.
и вывод хотя бы какого нибудь сообщения об ошибках
Юрий Малка
Юрий Малка
910

Похожие вопросы