#include<stdio.h>
#include<string.h>
struct Student //定义结构体类型
{
int number;
char name[5];
float chinese;
float math;
float english;
float zf;
};
struct Student P[99]; //确定结构体;
//void Dxuesheng(struct Student P[],int p );
int xuesheng(struct Student P[],int p); //声明int函数
#define N 99 //定义一个名称为 N 为99的常量
struct Student tmp;
int i;
int s =0; //学生信息s
int xuesheng(struct Student P[],int p) //定义 in函数
{
float z;
int m = 0; //输入学号判断,0-输入结束,1-继续
printf("请输入学生信息(提示:学号为0时结束)\n");
while (!m ) //如果输入没有结束,循环继续
{
printf("学号:");
scanf("%d",&P[s].number); //输入学号
if (P[s].number==0) //判断输入学号是否为0,为0结束
{
return;
}
if (m==1) //不懂
break;
printf("姓名:");
scanf("%s",P[s].name);
printf("语文成绩:");
scanf("%f",&z);
P[s].chinese = z;
printf("数学成绩:");
scanf("%f",&z);
P[s].math = z;
printf("英语成绩:");
scanf("%f",&z);
P[s].english = z;
P[s].zf=(P[s].english+P[s].chinese+P[s].math);
s++;
}
return s;
}
int Axuesheng(struct Student P[],int p )
{
int i; //定义一个i用来显示多少学生
for(i=0;i<s;i++) //循环显示学生信息
{
printf("学号:%d,姓名:%s,语文:%.1f,数学:%.1f,英语:%.1f,总分:%.1f\n",P[i].number,P[i].name,P[i].chinese,P[i].math,P[i].english,P[i].zf);
}
}
void Bxuesheng(struct Student P[],int p )
{
int i,j,k;
struct Student tmp={0};
for(i=0;i<N-1;i++)
{
if(P[i].number<P[i+1].number)
{
tmp = P[i];
P[i] = P[i+1];
P[i+1] = tmp;
}
}
printf("====================按总成绩排名=============\n");
for(j=0;j<N;j++)
{
printf("该学生的学号为:%d\n",P[j].number);
printf("该学生的姓名为:");
for(k= 0;k<5;k++)
{
printf("%s",P[j].name[k]);
}
printf("该学生的语文成绩为:%.1f\n",P[j].chinese);
printf("该学生的数学成绩为:%.1f\n",P[j].math);
printf("该学生的英语成绩为:%.1f\n",P[j].english);
printf("该学生的总成绩为:%.1f\n",P[j].zf);
}
getchar();
}
|