"Написать программу, вычисляющую минимальное число, из произвольного количества чисел, вводимых пользователем.
Числа указывается в командной строке в произвольном порядке, программа должна напечатать их и указать, какое по счету число меньше всех остальных. Нужно воспользоваться оператором цикла или операторами 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();
}
#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();
}
Вариант А
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
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
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;
}
{
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;
}
Похожие вопросы
- Помогите пожалуйста написать простую программу на "Си" по теме: "Стеки"
- Помогите, пожалуйста, написать текст программы на языке высокого уровня (Basic или Pascal)!
- Кто знает язык Си? ПОМОГИТЕ ПОЖАЛУЙСТА!!!
- Помогите пожалуйста напишите код программы
- Помогите пожалуйста написать маленькую программу в С++, массивы (внутри)
- Помогите, пожалуйста, написать программу на языке Си
- помогите написать простые программы на Qbasic
- Помогите пожалуйста написать программу на языке программирования AssemblerКто первый поможет сделать правильно10балов+50
- Помогите пожалуйста написать программу на языке Borland С++ Builder
- надо написать код программы на языке си. помогите кто знает как!
if (limit < 1) printf(" Min: %i\n", min);
else printf(" Error!\n");
на просто printf(" Min: %i\n", min);
Теперь я должен суметь объяснить каждую строку кода преподавателю. Было бы приятно, если бы мне с этим тоже помогли.