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