parent
9575f75e2c
commit
abd4d1c760
@ -0,0 +1,106 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
//定义结构体
|
||||||
|
struct Student
|
||||||
|
{
|
||||||
|
int ID;//学号
|
||||||
|
float math_grade;
|
||||||
|
float physics_grade;
|
||||||
|
float English_grade;
|
||||||
|
float sum;
|
||||||
|
float average;
|
||||||
|
};
|
||||||
|
void Show_The_Main_interface()
|
||||||
|
{
|
||||||
|
//显示主界面
|
||||||
|
for(int i=1;i<=30;i++)
|
||||||
|
{
|
||||||
|
printf(" ");
|
||||||
|
}
|
||||||
|
printf("1.Input\n");
|
||||||
|
for(int i=1;i<=30;i++)
|
||||||
|
{
|
||||||
|
printf(" ");
|
||||||
|
}
|
||||||
|
printf("2.Output\n");
|
||||||
|
for(int i=1;i<=30;i++)
|
||||||
|
{
|
||||||
|
printf(" ");
|
||||||
|
}
|
||||||
|
printf("3.Order\n");
|
||||||
|
for(int i=1;i<=30;i++)
|
||||||
|
{
|
||||||
|
printf(" ");
|
||||||
|
}
|
||||||
|
printf("4.Quit\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
void Output_Prompts(char choice)
|
||||||
|
{
|
||||||
|
//输出提示信息
|
||||||
|
if(choice=='i')
|
||||||
|
{
|
||||||
|
printf("Please input info of the three students:\n");
|
||||||
|
}
|
||||||
|
else if(choice=='o')
|
||||||
|
{
|
||||||
|
printf("You are trying to Output info\n");
|
||||||
|
}
|
||||||
|
else if(choice=='m')
|
||||||
|
{
|
||||||
|
printf("You are trying to Make things ordered\n");
|
||||||
|
}
|
||||||
|
else if(choice=='q')
|
||||||
|
{
|
||||||
|
printf("You are about to Quit\n");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("Wrong input\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
//显示主界面
|
||||||
|
Show_The_Main_interface();
|
||||||
|
//用户输入
|
||||||
|
char choice;
|
||||||
|
scanf("%c",&choice);
|
||||||
|
//输出提示信息
|
||||||
|
Output_Prompts(choice);
|
||||||
|
|
||||||
|
//输入学生信息
|
||||||
|
struct Student information[3];
|
||||||
|
for(int i=0;i<3;i++)
|
||||||
|
{
|
||||||
|
scanf("%d%f%f%f",&information[i].ID,&information[i].math_grade,\
|
||||||
|
&information[i].physics_grade,&information[i].English_grade);
|
||||||
|
information[i].sum=information[i].math_grade+information[i].physics_grade\
|
||||||
|
+information[i].English_grade;
|
||||||
|
information[i].average=information[i].sum/3.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//排序
|
||||||
|
for(int i=0;i<3;i++)
|
||||||
|
{
|
||||||
|
for(int j=0;j<3-i-1;j++)
|
||||||
|
{
|
||||||
|
if(information[j].sum>information[j+1].sum)
|
||||||
|
{
|
||||||
|
//此处我们直接交换结构体
|
||||||
|
struct Student tmp;
|
||||||
|
tmp=information[j];
|
||||||
|
information[j]=information[j+1];
|
||||||
|
information[j+1]= tmp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//按要求输出
|
||||||
|
for(int i=0;i<3;i++)
|
||||||
|
{
|
||||||
|
printf("%d,%.1f,%.1f\n",information[i].ID,\
|
||||||
|
information[i].sum,information[i].average);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in new issue