Как задать цикл для нахождения числа студентов-ударников - C (СИ)

Формулировка задачи:

Дано задание, список студентов в структуре, структура вводится с клавиатуры, надо найти кол-во ударников. Не могу понять, как задать цикл для нахождения числа ударников.
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <conio.h>
#include <string.h>
 
#define MAX 100
 
struct Program
{
  char name[MAX];
  int num_gr;
  int physic;
  int matan;
  int linal;
  int terver;
};
void main ()
{
    int i, n;
    float h;
    int g = 0;
    printf ("Vvedite col-vo studentov ");
    scanf ("%i", &n);
        struct Program p[10];
     for (i=0; i<n; i++){
         printf ("Vvedite FIO studenta ", i);
         scanf ("%s", &p[i].name);
         printf ("Vvedite nomer gruppi  ", i);
         scanf ("%i", &p[i].num_gr);
         printf ("Vvedite ball po fizike  ", i);
         scanf ("%i", &p[i].physic);
         printf ("Vvedite ball po matany  ", i);
         scanf ("%i", &p[i].matan);
         printf ("Vvedite ball po linaly  ", i);
         scanf ("%i", &p[i].linal);
         printf ("Vvedite ball po tervery  ", i);
         scanf ("%i", &p[i].terver);
 
}
    do
     {
 
            if((p[i].physic >=4) && (p[i].matan >=4) && (p[i].linal >=4) && (p[i].terver >=4)){
                    g++;
                    i++;
                    printf("%f", g);
 
            }
 
               else
               {
                    i++;
               }
     }
 
        while (i<n);
        h = (g/n)*100;
 
        printf("kol-vo procentov %n");
        printf ("%f", h);
}
Что тут не так? В конце получается, что g и h равны 0.

Код к задаче: «Как задать цикл для нахождения числа студентов-ударников - C (СИ)»

textual
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <conio.h>
#include <string.h>
 
#define MAX 100
 
struct Program
{
  char name[MAX];
  int num_gr;
  int physic;
  int matan;
  int linal;
  int terver;
};
void main ()
{
    int i, n;
    float h;
    printf ("Vvedite col-vo studentov ");
    scanf ("%i", &n);
        struct Program p[10];
     for (i=0; i<n; i++){
         printf ("Vvedite FIO studenta ", i);
         scanf ("%s", &p[i].name);
         printf ("Vvedite nomer gruppi  ", i);
         scanf ("%i", &p[i].num_gr);
         printf ("Vvedite ball po fizike  ", i);
         scanf ("%i", &p[i].physic);
         printf ("Vvedite ball po matany  ", i);
         scanf ("%i", &p[i].matan);
         printf ("Vvedite ball po linaly  ", i);
         scanf ("%i", &p[i].linal);
         printf ("Vvedite ball po tervery  ", i);
         scanf ("%i", &p[i].terver);
 
}
    i = 0;
    int g = 0;
    do
     {
 
            if((p[i].physic >=4) && (p[i].matan >=4) && (p[i].linal >=4) && (p[i].terver >=4)){
                    g++;
                    i++;
                    printf("%f", g);
 
            }
 
               else
               {
                    i++;
               }
     }
 
        while (i<n);
        h = (g/n)*100;
 
        printf("kol-vo procentov %n");
        printf ("%f", h);
}

5   голосов, оценка 4.200 из 5


СОХРАНИТЬ ССЫЛКУ