学生成绩管理系统
#include <stdio.h>
#include <stdlib.h>
#define N 10
void Sort(struct StudentInfo Student[]);//提出函数
///////////////////////////////
///首先定义一个结构
//////////////////////////////
struct StudentInfo
{
int StudentID; //学号
char StudentName[20]; //姓名
float StudentMath; //数学成绩
float StudentEnglish; //英语成绩
float StudentComputer;//计算机成绩
float StudentAve; //平均成绩
float StudentScore; //总成绩
};
int main(void)
{
struct StudentInfo Student[N];//定义学生和中间的交换值
int i;
for(i=0;i<N;i++)
{
printf("请输入第%d个学生的学号 ",i+1);
scanf("%d",&Student[i].StudentID);//输入学号
printf("请输入第%d个学生的姓名 ",i+1);
scanf("%s",Student[i].StudentName);//输入学生姓名
printf("请输入第%d个学生的数学成绩 ",i+1);
scanf("%f",&Student[i].StudentMath);//输入学生成绩
printf("请输入第%d个学生的英语成绩 ",i+1);
scanf("%f",&Student[i].StudentEnglish);//输入学生英语成绩
printf("请输入第%d个学生的计算机基础的成绩 ",i+1);
scanf("%f",&Student[i].StudentComputer);//输入学生机算计成绩
Student[i].StudentScore = Student[i].StudentComputer+Student[i].StudentEnglish+Student[i].StudentMath;//邱总成绩
Student[i].StudentAve = Student[i].StudentScore/3;//求平均成绩
system("cls");
}
//排序
Sort(Student);
//输出
printf("名次 学号 姓名 数学 英语 计算机 总 平均 ");
for(i=0;i<N;i++)
{
printf("%d ",i+1);
printf("%d ",Student[i].StudentID);
printf("%s ",Student[i].StudentName);
printf("%.1f ",Student[i].StudentMath);
printf("%.1f ",Student[i].StudentEnglish);
printf("%.1f ",Student[i].StudentComputer);
printf("%.1f ",Student[i].StudentScore);
printf("%.1f ",Student[i].StudentAve);
printf(" ");
}
return 0;
}
///////////////////////////////////////////
///冒泡排序
///////////////////////////////////////////
void Sort(struct StudentInfo Student[])
{
struct StudentInfo Tmp;
int i,j;
for(i=0;i<N;i++)
{
for(j=i;j<N;j++)
{
if(Student[i].StudentScore<Student[j+1].StudentScore)//判断总成绩大小,将第j个排成成绩最高
{
Tmp = Student[i];
Student[i]=Student[j+1];
Student[j+1] = Tmp;//交换顺序
}
}
}
}
#include <stdlib.h>
#define N 10
void Sort(struct StudentInfo Student[]);//提出函数
///////////////////////////////
///首先定义一个结构
//////////////////////////////
struct StudentInfo
{
int StudentID; //学号
char StudentName[20]; //姓名
float StudentMath; //数学成绩
float StudentEnglish; //英语成绩
float StudentComputer;//计算机成绩
float StudentAve; //平均成绩
float StudentScore; //总成绩
};
int main(void)
{
struct StudentInfo Student[N];//定义学生和中间的交换值
int i;
for(i=0;i<N;i++)
{
printf("请输入第%d个学生的学号 ",i+1);
scanf("%d",&Student[i].StudentID);//输入学号
printf("请输入第%d个学生的姓名 ",i+1);
scanf("%s",Student[i].StudentName);//输入学生姓名
printf("请输入第%d个学生的数学成绩 ",i+1);
scanf("%f",&Student[i].StudentMath);//输入学生成绩
printf("请输入第%d个学生的英语成绩 ",i+1);
scanf("%f",&Student[i].StudentEnglish);//输入学生英语成绩
printf("请输入第%d个学生的计算机基础的成绩 ",i+1);
scanf("%f",&Student[i].StudentComputer);//输入学生机算计成绩
Student[i].StudentScore = Student[i].StudentComputer+Student[i].StudentEnglish+Student[i].StudentMath;//邱总成绩
Student[i].StudentAve = Student[i].StudentScore/3;//求平均成绩
system("cls");
}
//排序
Sort(Student);
//输出
printf("名次 学号 姓名 数学 英语 计算机 总 平均 ");
for(i=0;i<N;i++)
{
printf("%d ",i+1);
printf("%d ",Student[i].StudentID);
printf("%s ",Student[i].StudentName);
printf("%.1f ",Student[i].StudentMath);
printf("%.1f ",Student[i].StudentEnglish);
printf("%.1f ",Student[i].StudentComputer);
printf("%.1f ",Student[i].StudentScore);
printf("%.1f ",Student[i].StudentAve);
printf(" ");
}
return 0;
}
///////////////////////////////////////////
///冒泡排序
///////////////////////////////////////////
void Sort(struct StudentInfo Student[])
{
struct StudentInfo Tmp;
int i,j;
for(i=0;i<N;i++)
{
for(j=i;j<N;j++)
{
if(Student[i].StudentScore<Student[j+1].StudentScore)//判断总成绩大小,将第j个排成成绩最高
{
Tmp = Student[i];
Student[i]=Student[j+1];
Student[j+1] = Tmp;//交换顺序
}
}
}
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。