Я написал небольшую программу, которая берет 5 цифр от пользователя и сохраняет их
в массиве целых чисел. Массив передается в функцию. Функция используется, чтобы найти наименьшее число в массиве и распечатать его. С уважением, вывод не правильный, и я не знаю почему. Функция всегда печатает первый элемент массива, который должен быть наименьшим числом, но это не так.
#include <stdio.h>
void smallestint (int intarray [], int n)
{
int i;
int temp1 = 0;
int temp2 = 0;
for(i = 0; i < n; i ++)
{
if (intarray [i] < temp1)
{
intarray [i-1] = intarray [i];
temp2 = intarray[i];
intarray[i] = temp1;
temp1 = temp2;
}
else
temp1 = intarray[i];
}
printf("%d\n", intarray[0]);
}
int main ()
{
const int n = 5;
int temp = 0;
int i;
int intarray [n];
printf("Please type in your numbers!\n");
for(i = 0; i < n; i ++)
{
printf("");
scanf("%d", &temp);
intarray[i] = temp;
}
smallestint (intarray, n);
getchar();
getchar();
return 0;
}
Я обновил свой код. Теперь я инициализирую временные значения перед циклом for. Но это все еще не работает.