C语言实现简单的成绩管理系统:计算绩点和课程平均分、最高分
#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; }
原文地址: https://www.cveoy.top/t/topic/pc7t 著作权归作者所有。请勿转载和采集!