Вычислить средние баллы по студентам и по каждому предмету - C (СИ)
Формулировка задачи:
Здравствуйте товарищи!
Есть вот такая задача:
Ввести фамилии N студентов и их экзаменационные оценки по M предметам
a.Вычислить средние баллы по студентам и по каждому предмету
b.Напечатать списки «отличников», «хорошистов», «троечников» и «двоечников»
Впринципе алгоритм решения я представляю, но никак не могу сообразить как именно сохранить сами фамилии студентов (имеется ввиду символьные строки для каждого отдельно взятого студента, т.е. например Иванов, Петров, Сидоров.
Решение задачи: «Вычислить средние баллы по студентам и по каждому предмету»
textual
Листинг программы
// Вводим фамилии и оценки студентов
void student_mark(char student[][32],int mark[][3],int N, int M)
{
int i, j;
for (i = 0; i < N; ++i)
{
printf("Введите фамилию %d студента: ", i + 1);
scanf("%s", student[i]);
printf("\n");
printf("Введите %d оценок студента (после ввода каждой оценки нажать Enter): \n", M);
for (j = 0; j < M; ++j)
{
scanf("%d", &mark[i][j]);
}
}
}
// Распечатываем оценки студентов по предметам
void print_mark(char student[][32], int mark[][3], int N, int M)
{
int i, j;
for (i = 0; i < N; ++i)
{
printf("%s :", student[i]);
for (j = 0; j < M; ++j)
printf("%d ", mark[i][j]);
printf("\n");
}
}
// А теперь в main'е
#include <stdlib.h>
#include "algoritm.h"
#include "algowrap.h"
#include "interface.h"
#define N 3
#define M 3
#define LEN 32
int main()
{
system("chcp 1251 > nul");
char student[N][LEN];
int mark[N][M];
int i, j;
float sr[N];
int imin, x;
float min;
// Вводим информацию о студентах и их оценках
student_mark(student, mark, N, M);
// Выводим информацию о студентах и оцентах
print_mark(student, mark, N, M);
}
Объяснение кода листинга программы
- Ввод информации о студентах и их оценках
- Вывод информации о студентах и оценках