Программирование на языке высокого уровня. Марапулец Ю.В. - 167 стр.

UptoLike

Составители: 

for (i=1;i<SIZE;i++)
sum=sum + a[i];
Average = sum / SIZE;
printf("Среднее арифметическое массива = ");
printf("%d", Average);
printf("\nДля завершения нажмите любую клавишу");
getch();
}
Вновь запустим приложение до точки прерывания. Переменной sum присвоено
значение 0. Будем выполнять программу в режиме пошагового просмотра. Для этого не-
обходимо выбирать Run->Step Over или F8 для выполнения каждого шага. Обнаружена
следующая ошибка. Не учитывается в расчетах значение a[0]=10. Происходит это пото-
му, что в цикле по вычислению среднего арифметического инициализация переменной i
происходит не от 0, а от 1. Исправим эту ошибку.
#include <stdio.h>
#include <conio.h>
#define SIZE 5 //размер массива
void main()
{
int a[SIZE]; //Массив
int sum;//сумма всех элементов
int Average; //среднее арифметическое элементов
int i;
clrscr();
printf ("\nРассчет среднего арифметического массива.\n");
printf("Введите в одной строке элементы массива,\n");
printf("%i целых чисел, и нажмите <Enter>\n", SIZE);
printf("-> ");
for (i=0; i<SIZE; i++)
scanf("%d", &a[i]);
sum=0;//Инициализация нулем
//Сумма элементов массива
// for (i=1;i<SIZE;i++)//Ошибочное
значение i
for (i=0;i<SIZE;i++)
sum=sum + a[i];
Average = sum / SIZE;
printf("Среднее арифметическое массива = ");
printf("%d", Average);
printf("\nДля завершения нажмите любую клавишу");
getch();
}
Запустим приложение вновь. Изменим данные на входе. Введем числа, следующие
не по порядку, например 0, 12, 5, 7, 9. В результате получим, что сумма всех элементов
равна 33, а среднее арифметическое – 6. Ошибка в данном случае произошла потому,
что значение среднего арифметического округляется до целого значения. Для исправле-
ния присвоим переменной Average тип float, а не int (следует не забыть изменить пара-
метр формата функции printf() с "%d" на "%f" при выводе значения переменной на эк-
ран). Кроме того, при вычислении среднего арифметического переназначим переменной
167
      for (i=1;iStep Over или F8 для выполнения каждого шага. Обнаружена
следующая ошибка. Не учитывается в расчетах значение a[0]=10. Происходит это пото-
му, что в цикле по вычислению среднего арифметического инициализация переменной i
происходит не от 0, а от 1. Исправим эту ошибку.

#include 
#include 
#define SIZE 5 //размер массива
void main()
{
       int a[SIZE]; //Массив
       int sum;//сумма всех элементов
       int Average; //среднее арифметическое элементов
       int i;
       clrscr();
       printf ("\nРассчет среднего арифметического массива.\n");
       printf("Введите в одной строке элементы массива,\n");
       printf("%i целых чисел, и нажмите \n", SIZE);
       printf("-> ");
       for (i=0; i