Вывести на экран весь список введенных элементов - C (СИ)
Формулировка задачи:
Вводить с клавиатуры числовые элементы до тех пор, пока не будет введен 0. После этого вывести на экран весь список введенных элементов.
Напишите пожалуйста программу на СИ.
Решение задачи: «Вывести на экран весь список введенных элементов»
textual
Листинг программы
- #include <stdio.h>
- #include <glib.h>
- int main(void) {
- int n;
- GSList * list = NULL, * iter;
- while ( printf("> ") && scanf("%d", &n) == 1 && n )
- list = g_slist_append(list, GINT_TO_POINTER(n));
- for ( iter = list; iter; iter = iter->next )
- printf("%d\n", GPOINTER_TO_INT(iter->data));
- g_slist_free(list);
- return 0;
- }
Объяснение кода листинга программы
В этом коде используется язык программирования C, и задача заключается в выводе на экран всех элементов, введенных пользователем.
- #include
- подключает стандартную библиотеку C для работы с консолью - #include
- подключает библиотеку Glib, которая используется для работы со списками (linked lists) - int main(void) - функция main(), которая является точкой входа в программу
- int n; - переменная типа int для хранения значения, введенного пользователем
- GSList list = NULL, iter; - объявление двух переменных: list - указатель на голову списка, iter - итератор для прохода по списку
- while ( printf(
>
) && scanf(%d
, &n) == 1 && n ) - цикл while, который выполняется до тех пор, пока пользователь вводит число больше нуля - list = g_slist_append(list, GINT_TO_POINTER(n)); - добавление нового элемента в список
- for ( iter = list; iter; iter = iter->next ) - цикл for для прохода по всем элементам списка
- printf(
%d\n
, GPOINTER_TO_INT(iter->data)); - вывод значения элемента списка на экран - g_slist_free(list); - освобождение памяти, занятой списком
- return 0; - завершение функции main() и программы в целом Пользователь вводит числа, которые добавляются в список в порядке их ввода. Затем программа выводит все числа из списка в обратном порядке (от последнего к первому). После вывода всех чисел программа освобождает память, занятую списком, и завершает свою работу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д