#include<stdio.h> #include <stdlib.h> #include <time.h> #define num_students 10 #define num_subjects 5 float getgpa(int scores1) { float scores2; if (scores1 >= 93) scores2 = 4.5; else if (scores1>=85) scores2 = 4.0; else if (scores1>=80) scores2 = 3.5; else if (scores1>=75) scores2 = 3.0; else if (scores1>=70) scores2 = 2.5; else if (scores1>=65) scores2 = 2.0; else if (scores1>=60) scores2 = 1.0; else scores2 = 0; return scores2; }

float getaverage(int scores1[num_students][num_subjects],int x) { float sum = 0; for (int i = 0; i < num_students; i++){ sum = sum + scores1[i][x]; }
return sum/num_students; }

int getmax(int scores1[num_students][num_subjects],int y) { int max=scores1[0][y]; for (int i = 1; i < num_students; i++) if (scores1[i][y] >max) { max=scores1[i][y]; } return max; }

int main() { int scores1[num_students][num_subjects]; int i, j; srand((unsigned)time(NULL)); printf('这10个学生的5门课成绩是: '); for (i = 0; i < num_students; i++) { for (j = 0; j < num_subjects; j++) { scores1[i][j] = rand() % 101; } } for (i = 0; i < num_students; i++) { printf('学生%d这5门课成绩分别是:', i + 1); for (j = 0; j < num_subjects; j++) { printf('%d ', scores1[i][j]); } printf(' '); }

float gpa;
float sum=0;
for (i = 0; i < num_students; i++)
{
    sum=0;
    for (j = 0; j < num_subjects; j++)
    {
        sum=sum+(j+1)*getgpa(scores1[i][j]);
    }
    gpa= sum / (1 + 2 + 3 + 4 + 5);
    printf('学生%d的绩点是:%f

', i + 1, gpa); }

float average;
for (j = 0; j < num_subjects; j++)
{
    average=getaverage(scores1,j);
    printf('第%d门课程的平均分是:%f

', j + 1, average); }

int max;
for (j = 0; j < num_subjects; j++)
{
    max=getmax(scores1,j);
    printf('第%d门课程的最高分是:%d

', j + 1, max); } return 0; }

C语言实现简单的成绩管理系统:计算绩点和课程平均分、最高分

原文地址: https://www.cveoy.top/t/topic/pc7t 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录