#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include<stdlib.h> #include <conio.h> struct student { char family_name[20]; double age; }; int average(struct student group[50], int answer, double mid) { int i = 0, j, f; struct student sorted[50]; for (j = 0; j < answer; j++) { if (group[j].age < mid) { sorted[i] = group[j]; i++; } } struct student temp; for (j = 0; j < i; j++) { for (f = j; f < i; f++) { if (strcmp(sorted[f].family_name, sorted[j].family_name) > 0) { temp = sorted[f]; sorted[f] = sorted[j]; sorted[j] = temp; } } } int k; for (k = 0; k < i; k++) { printf("%s\n", sorted[k].family_name); printf("%lf\n", sorted[k].age); } return 0; } int main() { double total = 0, mid = 0; int i = 0; int answer = 0; struct student group[50]; //printf("HOW MUCH STUDENTS TO FIND: "); //scanf("%d",&answer); FILE *fi = NULL; fi = fopen("data.txt", "r"); if (fi == NULL) { printf("error\n"); } while(!feof(fi)) { fscanf(fi, "%s %lf", &group[i].family_name, &group[i].age); //printf("%s %lf\n",group[i].family_name, group[i].age); total += group[i].age; i++; } fclose(fi); mid = total / i; printf("mid %lf", mid); average(group, i, mid); getchar(); getchar(); return 0; } |