Найти ошибку при поиске max min элементов массива - C (СИ)
Формулировка задачи:
#include <stdio.h>
#define N 20
int main()
{
int a[N],n,i,max,min;
float sr;
printf("Добро пожаловать в программу поиска минимального, максимального элементов и\nсреднего арифметического всех элементов одномерного массива\n");
printf("Введите длину массива > ");
scanf("%d",&n);
printf("Введите элементы массива >\n");
for (i=0; i<n; i++)
scanf("%d",&a[n]);
min=0;
max=0;
for(i=0; i<n; i++)
if (a[min]>a[i])
min=i;
else max=i;
sr=0;
for (i=0; i<n; i++)
sr=sr+a[i];
sr=sr/n;
printf("Минимальный элемент данного массива - %d\n",a[min]);
printf("Максимальный элемент данного массива - %d\n",a[max]);
printf("Среднее арифметическое всех элементов - %10.2f\n",sr);
scanf("%d"); // задержка экрана(чтобы не закрывалась после выполнения)
}Решение задачи: «Найти ошибку при поиске max min элементов массива»
textual
Листинг программы
for (i=0; i<n; i++)
scanf("%d",&a[n]);
Объяснение кода листинга программы
В данном коде выполняется следующие действия:
- Создается цикл for, который будет выполняться n раз, где n - это количество элементов в массиве a.
- Внутри цикла происходит чтение значения от пользователя и сохранение его в элемент массива a[i]. Это делается с помощью функции scanf, которая принимает два аргумента: строку с форматом и адрес переменной, в которую нужно сохранить значение. В данном случае, формат строки -
%d, указывает на то, что нужно считать целое число, а переменная a[i] - это адрес элемента массива, в который нужно сохранить это число. Таким образом, данный код просто считывает n целых чисел от пользователя и сохраняет их в массив a. Никаких операций по поиску максимального или минимального значения здесь не выполняется.