Листинг 1. Использование массива для выполнения двух задач

/*array1.c*/main()                    {                    int temps[31];                    int index, total;                    float avarage, celsius;                    total = 0.0;                    /*загрузка значений в массив*/                    for (index = 0; index < 31; index++)                                   {                                   printf("Введите значение температуры #%d: ", index);                                   scanf("%d", &temp[index]);                                   }                    /*подсчет среднего арифметического*/                    for (index = 0; index < 31; index++)                                   total += temps[index];                    average = total / 31.0;                    printf("Среднее значение температуры составляет: %f\n\n", average);                    puts("Шкала Фаренгейта\t\tШкала Цельсия\n");                    /*перевод значений в градусы Цельсия*/                    for (index = 0; index < 31; index++)                                   {                                   celsius = (5.0/9.0)*(temps[index]-32);                                   printf("%d\t\t%6.2f\n", temps[index], celsius);                              }                    }

Однако, как вы, может быть, заметили, в программе подразумевается, что пользователь введет значения во все элементы массива, а их у нас 31. Если, например, мы имеем дело с наблюдениями за температурой в ноябре или феврале, полученные результаты не будут правильными, поскольку мы не используем все элементы массива, как это предполагает логика программы.

В программе, приведенной в Листинге 1, мы можем использовать любое количество элементов массива, вплоть до 31. Вместо цикла for предыдущей программы теперь используется цикл do...while, и инструкция

index = 0;

выполняется в начале каждого цикла, чтобы переменная index, использованная в качестве индекса массива, всегда указывала на первый элемент. Ввод подобной инструкции в цикле for не являлся необходимым, так как в этом случае начальное значение индекса устанавливается в самой инструкции for.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: