Структуры. Распечатать список студентов фамилии которых начинаются с буквы "К" - C (СИ)
Формулировка задачи:
Распечатать список студентов фамилии которых начинаются с буквы К.
Заранее спасибо
Решение задачи: «Структуры. Распечатать список студентов фамилии которых начинаются с буквы "К"»
textual
Листинг программы
#include <stdio.h> #include <conio.h> #include <string.h> #include <locale.h> const int n=4; struct info{ char name [10]; char surname [15]; }st[n]; void main(){ setlocale(LC_ALL,"Ukrainian"); printf("Введiть iмя та прiзвище студентiв:\n\n"); for(int i=0; i<n; i++) scanf("%s %s", &st[i].name, &st[i].surname); printf("\nСтуденти, прiзвища яких починаються з лiтери К: \n"); for(int i=0; i<n; i++) if(st[i].surname[0] == 'K') printf("%s %s\n", st[i].name, st[i].surname); getch(); }
Объяснение кода листинга программы
В этом коде определен массив структур info, который содержит информацию о 4 студентах. Каждый элемент массива содержит имя и фамилию студента.
- Ввод данных:
- Сначала устанавливается локальная настройка для вывода кириллицы (в данном случае -
Ukrainian
). - Затем выводится приглашение для ввода имен и фамилий студентов.
- Далее происходит цикл, в котором с помощью функции scanf вводятся данные для каждого студента. scanf используется для чтения строк (%s) и сохранения адресов этих строк (&st[i].name, &st[i].surname).
- После ввода всех данных выводится приглашение для вывода списка студентов.
- Сначала устанавливается локальная настройка для вывода кириллицы (в данном случае -
- Поиск студентов с фамилией, начинающейся на
К
:- Происходит цикл по всем элементам массива.
- Внутри цикла проверяется, начинается ли фамилия студента с буквы
К
(st[i].surname[0] == 'K'). - Если условие выполняется, то выводится информация о студенте.
- Конец программы:
- В конце программы вызывается функция getch(), которая ожидает нажатия клавиши.
- После этого программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д