Вывести на экран минимальный и максимальный элементы введенного с клавиатуры массива типа double - C (СИ)
Формулировка задачи:
Кто может подсказать в чем может быть проблема. Есть программа, которая выводит на экран минимальный и максимальный элементы введенного с клавиатуры массива типа double. Вот как она реализована:
При компиляции и построении в Miracle C все хорошо, а в Code::Blocks (GNU GCC) все компилируется,но выводит какую-то ерунду вместо значений min и max..
Мне сейчас приходится делать много лабораторных на разные темы на С, и я уже не первый раз сталкиваюсь с тем, что одна программа прекрасно строится в одной среде разработки, но при этом после построения в другой корректно работать не хочет, хотя в коде вроде нет ничего криминального..
#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);
}Решение задачи: «Вывести на экран минимальный и максимальный элементы введенного с клавиатуры массива типа 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;
}
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные:
double max- для хранения максимального элемента массива;double min- для хранения минимального элемента массива;double array[sz]- для хранения массива double.
- Выводится сообщение с просьбой ввести массив чисел и его размер.
- В цикле происходит запрос на ввод каждого элемента массива с помощью функции
scanf(). - Инициализируются переменные
maxиminпервым введенным числом. - В цикле происходит сравнение каждого элемента массива с текущим максимальным и минимальным значением и, если необходимо, обновление значений
maxиmin. - Выводится сообщение с минимальным и максимальным значением массива.
- Возвращается 0, чтобы указать, что программа успешно завершилась.