Из последовательности чисел выбрать нули и подсчитать их число, а оставшиеся числа вывести в одну строку - 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 . . .
и ожидается нажатие клавиши.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д