Составители:
Рубрика:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 165
- 166
- 167
- 168
- 169
- …
- следующая ›
- последняя »