Вывести сведения о самом старшем и о самом младшем абитуриенте - C (СИ)
Формулировка задачи:
Сведения об абитуриентах состоят из фамилии, имени, адреса, года рождения и среднего балла аттестата.
б) Вывести сведения о самом старшем и о самом младшем абитуриенте
#include <stdio.h> #include <conio.h> struct svedenie { char fio[20]; char name[20]; char adr[20]; int god;int sredni ball;} main() { struct svedenie a; int i; ----- for(i=1;i<n;i++) { puts("fio=");gets(a[i].fio); puts("name=");gets(a[i].name); puts("adr=");gets(a[i].adr); printf("god=");scanf("%f",a[i].god); printf("sredni ball=");scanf("%f",a[i].sredni ball); } --------------------------------------
А как найти самую старшую и самую младшего абитуриента!!! И как вывести сведения!!!
Решение задачи: «Вывести сведения о самом старшем и о самом младшем абитуриенте»
textual
Листинг программы
#include <stdio.h> #include <conio.h> struct svedenie { char fio[20]; char name[20]; char adr[20]; int god;int sredni ball;} main() { struct svedenie a; int i; ----- for(i=1;i<n;i++) { puts("fio=");gets(a[i].fio); puts("name=");gets(a[i].name); puts("adr=");gets(a[i].adr); printf("god=");scanf("%f",a[i].god); printf("sredni ball=");scanf("%f",a[i].sredni ball); int max = a[0].god; int min = a[0].god; if (max < a[i].god) { max = a[i].god; } if (min > a[i].god]) { min = a[i].god; } } int j; int indvzrosliy; int indmladshiy; for(j=1; j<n ; j++) { if (max==a[j].god) { indvzrosliy = j; } if (min==a[j].god) { indmladshiy = j; } } printf("Samiy starshiy student: \n fio: %s \n name: %s \n adr: %s n\ god: %d \n sredni ball: %d \n",a[indvzrosliy].fio,a[indvzrosliy].name,a[indvzrosliy].adr,a[indvzrosliy].god,a[indvzrosliy].sredni ball); printf("Samiy mladshiy student: \n fio: %s \n name: %s \n adr: %s n\ god: %d \n sredni ball: %d \n",a[indmladshiy].fio,a[indmladshiy].name,a[indmladshiy].adr,a[indmladshiy].god,a[iindmladshiy].sredni ball); } --------------------------------------
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы для работы с консолью и структурой данных.
- Определяется структура данных
svedenie
, которая содержит поля для хранения информации об абитуриентах. - Задается функция main(), которая является точкой входа в программу.
- Создается переменная
a
типаsvedenie
, которая будет использоваться для хранения информации об абитуриентах. - Задается цикл for для сбора информации об абитуриентах. В каждой итерации цикла, пользователю предлагается ввести информацию о следующем абитуриенте.
- Внутри цикла, с помощью функции scanf(), происходит чтение информации о возрасте абитуриента и сохранение ее в соответствующем поле структуры
a
. - Создаются две переменные
max
иmin
для хранения минимального и максимального возраста абитуриентов соответственно. - Инициализируются переменные
max
иmin
значением первого возраста, который был введен пользователем. - Используя операторы if, происходит сравнение введенных возрастов с текущими значениями
max
иmin
. Если возраст текущего абитуриента больше или меньше, чем текущее значениеmax
илиmin
соответственно, то обновляются значения этих переменных. - Создаются две новые переменные
indvzrosliy
иindmladshiy
для хранения индексов самого старшего и самого младшего абитуриентов соответственно. - Задается цикл for для поиска самого старшего и самого младшего абитуриента.
- Внутри цикла, с помощью операторов if, происходит проверка равенства текущего возраста значению
max
. Если это так, то обновляется значение переменнойindvzrosliy
. Аналогично, проверяется равенство текущего возраста значениюmin
и, при необходимости, обновляется значение переменнойindmladshiy
. - Выводятся сведения о самом старшем абитуриенте с помощью функции printf().
- Выводятся сведения о самом младшем абитуриенте с помощью функции printf().
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д