Произведение наибольшего и наименьшего чисел, написал код, но выходит ошибка

Дана числовая последовательность чисел А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);
}

Единственное - программа отреагирует окончанием ввода на любое не число, а не только на +. Это уж напишите сами...

→ Ссылка