Вывести на экран минимальный и максимальный элементы введенного с клавиатуры массива типа double - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Кто может подсказать в чем может быть проблема. Есть программа, которая выводит на экран минимальный и максимальный элементы введенного с клавиатуры массива типа double. Вот как она реализована:
#include <stdio.h>
void main()
{
double max,min,number_Array[10];
int i,j,k,c;
printf("Please input array of 10 real numbers:\n");
for(i=0;i<10;++i)
{
printf("%s%d%s","Please input ", i+1 , " array element:\n");
scanf("%f", &number_Array[i]);
}
max=number_Array[0];
min=number_Array[0];
for(j=0;j<10;++j)
{
if(number_Array[j]>max)
max=number_Array[j];
}
for(k=0;k<10;++k)
{
if(number_Array[k]<min)
min=number_Array[k];
}
printf("%.2f%s%.2f",max,"   ",min);
scanf("%d",&c); 
}
При компиляции и построении в Miracle C все хорошо, а в Code::Blocks (GNU GCC) все компилируется,но выводит какую-то ерунду вместо значений min и max.. Мне сейчас приходится делать много лабораторных на разные темы на С, и я уже не первый раз сталкиваюсь с тем, что одна программа прекрасно строится в одной среде разработки, но при этом после построения в другой корректно работать не хочет, хотя в коде вроде нет ничего криминального..

Решение задачи: «Вывести на экран минимальный и максимальный элементы введенного с клавиатуры массива типа double»

textual
Листинг программы
#include <stdio.h>
 
#define sz 10
 
int main(void)
{
    double max, min, array[sz];
    printf("Please input array of %u real numbers:\n", sz);
    for(size_t i = 0; i < sz; ++i)
    {
        printf("Please input %u number: ", i + 1);
        scanf("%lf", array + i);
    }
    max = array[0];
    min = array[0];
    for(size_t  i = 1; i < sz; ++i)
    {
        if(array[i] > max)
            max = array[i];
        if(array[i] < min)
            min = array[i];
    }
    printf("MAX = %.2lf, MIN = %.2lf\n", max, min);
    return 0;
}

Объяснение кода листинга программы

В этом коде:

  1. Объявлены переменные:
    • double max - для хранения максимального элемента массива;
    • double min - для хранения минимального элемента массива;
    • double array[sz] - для хранения массива double.
  2. Выводится сообщение с просьбой ввести массив чисел и его размер.
  3. В цикле происходит запрос на ввод каждого элемента массива с помощью функции scanf().
  4. Инициализируются переменные max и min первым введенным числом.
  5. В цикле происходит сравнение каждого элемента массива с текущим максимальным и минимальным значением и, если необходимо, обновление значений max и min.
  6. Выводится сообщение с минимальным и максимальным значением массива.
  7. Возвращается 0, чтобы указать, что программа успешно завершилась.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.75 из 5
Похожие ответы