Другие языки программирования и технологии

Язык Си. Помогите пожалуйста написать простую программу.

"Написать программу, вычисляющую минимальное число, из произвольного количества чисел, вводимых пользователем.
Числа указывается в командной строке в произвольном порядке, программа должна напечатать их и указать, какое по счету число меньше всех остальных. Нужно воспользоваться оператором цикла или операторами if () и goto".

Ни грамма не смыслю в программировании и в частности в языке Си. Кто-то мне сказал, что нужно ввести массив и цикл для сравнения поочерёдно каждого из чисел. Буду рад любой помощи, даже совету.
#include <stdio.h>
#include <limits.h>
#include <Windows.h>
int main() {
int number;
int min = INT_MAX;
int i, limit;
printf(" Limit: ");
scanf_s("%i", &limit);
for (i = 0; i < limit; ++i) {
printf(" Number %i: ", i + 1);
scanf_s("%i", &number);
if (number < min) min = number;
}
if (limit < 1) printf(" Min: %i\n", min);
else printf(" Error!\n");
fflush(stdin);
getchar();
}
Александр Лисман
Александр Лисман
83 028
Лучший ответ
Оксана Негеева Спасибо, очень крутой код у вас получился. Правда он стал нормально работать после того, как я заменил это
if (limit < 1) printf(" Min: %i\n", min);
else printf(" Error!\n");
на просто printf(" Min: %i\n", min);
Теперь я должен суметь объяснить каждую строку кода преподавателю. Было бы приятно, если бы мне с этим тоже помогли.
Вариант А
1) Сохранить весь ввод пользователя в массив
2) Объявить переменный min (=0 если гарантировано все положительные -int.max) и index
3) Циклом (for, while) перебрать все элементы в массиве.
4) В теле цикла, if (текущий элемент < min) min = текущий элемент, index = текущий индекс

Вариант Б
1) Объявить переменные min (см. выше) и indexMin и index = -1
2) Читаем ввод 1 числа от пользователя, index = index + 1;
3) Сравниваем с min, если меньше, то min = текущее число, indexMin = index
Vovik Koli
Vovik Koli
4 056
int main()
{
int k,i,h,n,min;
int *a;
i = 0;
h = 0;
min = 2000000000;
printf("Vvedite kolichestvo: ");
scanf("%d",&k);
a = (int*)malloc(k*sizeof(k));
do
{
printf("vvedite chislo: ");
scanf("%d",&n);
*(a+i) = n;
if (min>n)
{
min = n;
h = i;
}
i++;
}
while(i<k);
printf("\nVse chisla\n");
for (i=0; i<k; i++)
printf("%5d",*(a+i));
printf("\nmin=%d\ni=%d",min,(h+1));
free(a);
getch();
return 0;
}
ВВ
Витя Вахтин
2 723