Из последовательности чисел выбрать нули и подсчитать их число, а оставшиеся числа вывести в одну строку - C (СИ)
Формулировка задачи:
Из последовательности чисел а1, а2, ..., аn выбрать числа, равные
нулю, подсчитать их число, а оставшиеся числа вывести в одну
строку
Решение задачи: «Из последовательности чисел выбрать нули и подсчитать их число, а оставшиеся числа вывести в одну строку»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- int main(int argc, char *argv[])
- {
- int n;
- int i;
- int cnt = 0;
- int *arr;
- puts("Enter n..");
- scanf("%d", &n);
- arr = (int *) malloc(sizeof(int) * n);
- for(i = 0; i < n; ++i)
- {
- printf("\narr[%d] = ", i);
- scanf("%d", &arr[i]);
- }
- puts("");
- for(i = 0; i < n; ++i)
- {
- if(arr[i])
- printf("%d ", arr[i]);
- else
- ++cnt;
- }
- if(n)
- printf("\nCount = %d\n", cnt);
- free(arr);
- printf("\nPress any key to continue . . . ");
- getchar();
- getchar();
- return 0;
- }
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные:
n
- количество чисел в последовательностиi
- счётчик для цикловcnt
- счётчик нулейarr
- массив для хранения чисел
- Запрошен ввод количества чисел и сохранён в переменной
n
. - Выделен память под массив
arr
с помощьюmalloc
. - В цикле заполнен массив
arr
числами, которые введены пользователем. - В цикле выведены все числа из массива
arr
, при этом если число равно нулю, то увеличено значение переменнойcnt
. - Выведено количество нулей.
- Освобождён память, выделенную под массив
arr
, с помощьюfree
. - Выведено сообщение
Press any key to continue . . .
и ожидается нажатие клавиши.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д