Упражнения на C: Найти пропущенное число из данного массива
C Array: Упражнение 36 с решением
Напишите программу на C, чтобы найти пропущенное число из данного массива. В списке нет дубликатов.
Иллюстрированная презентация:
Пример решения:
Код C:
#include <stdio.h>
int pickMissNumber(int *arr1, int ar_size)
{
int i, sum = 0, n = ar_size + 1;
for(i = 0; i < ar_size; i++)
{
sum = sum + arr1[i];
}
return (n*(n+1))/2 - sum;
}
int main()
{
int i;
int arr1[] = {1, 3, 4, 2, 5, 6, 9, 8};
int ctr = sizeof(arr1)/sizeof(arr1[0]);
printf("The given array is : ");
for(i = 0; i < ctr; i++)
{
printf("%d ", arr1[i]);
}
printf("\n");
printf("The missing number is : %d \n", pickMissNumber(arr1, ctr));
return 0;
}
Пример вывода:
Данный массив: 1 3 4 2 5 6 9 8 Недостающее число: 7
Блок-схема:
Редактор кода программирования C:
Улучшите этот пример решения и опубликуйте свой код через Disqus.
Предыдущий: Напишите программу на C, чтобы найти наибольшую сумму смежных подмассивов массива.
Далее: Напишите программу на C, чтобы найти элемент pivot отсортированного и повернутого массива с помощью бинарного поиска.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code