Произведение наибольшего и наименьшего чисел, написал код, но выходит ошибка
Дана числовая последовательность чисел А1,А2,…. Признак конца ввода чисел является «+». Cоставить программу определяющую: произведение минимального и максимального числа последовательности.
#include <stdio.h>
int main(int argc, char **argv)
{
int n[10];
int max=n[0];
int min=n[0];
scanf("%d", &n);
do{
for(int i=0; i<n; i++)
if(n[i] > max)
max = n[i];
for(int i=0; i<n; i++)
if(n[i] < min)
min = n[i];
}
while (n[10]!= '+');
printf("max: %d",max);
printf("min: %d",min);
printf("Result: %d", max * min);
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
#include <stdio.h>
int main(int argc, char **argv)
{
int n;
scanf("%d", &n);
int max=n;
int min=n;
for(;;)
{
if (scanf("%d", &n) == 1)
{
if(n > max) max = n;
else if(n < min) min = n;
}
else break;
};
printf("max: %d\n", max);
printf("min: %d\n", min);
printf("Result: %d\n", max * min);
}
Единственное - программа отреагирует окончанием ввода на любое не число, а не только на +. Это уж напишите сами...