Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
1
Добавлен:
16.11.2025
Размер:
1.47 Кб
Скачать
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
int main(void){
    struct Data{
        char Name[20];
        char Surname[20];
        int Grade;
        int MarkMath;
        int MarkPh;
        int MarkInf;
    } List[20];
    int n, i, MIN=300, iMIN;
    scanf("%d", &n);
    for(i=0; i<n; i++){
        scanf("%s", List[i].Surname);
        scanf("%s", List[i].Name);
        scanf("%d%d%d%d", &List[i].Grade, &List[i].MarkMath, &List[i].MarkPh, &List[i].MarkInf);
    }
    for(i=0; i<n; i++){
        printf("%-15s", List[i].Surname);
        printf("%-15s", List[i].Name);
        printf("%5d%5d%5d%5d", List[i].Grade, List[i].MarkMath, List[i].MarkPh, List[i].MarkInf);
        if((List[i].Grade==2)&&((List[i].MarkMath+List[i].MarkPh+List[i].MarkInf)<=MIN)){
            MIN=List[i].MarkMath+List[i].MarkPh+List[i].MarkInf;
            iMIN=i;
        }
        printf("\n");
    }
    printf("\n");
    for(i=0; i<iMIN; i++){
            if(((List[i].MarkMath+List[i].MarkPh+List[i].MarkInf)<=MIN)&&(List[i].Grade==2)){
                    printf("%s %s\n", List[i].Surname, List[i].Name);
            }
    }
    printf("%s %s\n", List[iMIN].Surname, List[iMIN].Name);
    printf("\n");
    for(i=0; i<n; i++){
        if(((List[i].MarkMath+List[i].MarkPh+List[i].MarkInf)<=MIN)&&(List[i].Grade!=2)){
            printf("%s %s\n", List[i].Surname, List[i].Name);
        }
    }
}
Соседние файлы в папке 2 семестр