C语言:输入5个学生的姓名、性别、年龄、成绩,然后按成绩从大到小排序,然后分4列输出结果。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言:输入5个学生的姓名、性别、年龄、成绩,然后按成绩从大到小排序,然后分4列输出结果。相关的知识,希望对你有一定的参考价值。
具体要求如下:
a)用一个函数,实现输入功能;
b)用一个函数,实现两个学生的数据交换功能;
c)用一个函数,实现排序功能;
d)用一个函数,实现输出功能。
struct student //学生信息
int num; //学号
float s1;//分数
float s2;
float s3;
char name[20];
char sex[10];
char addr[20];
;
int main(int argc, char* argv[])
struct student students[5];
int i,j;
float aver[5],max=0.0;
printf("please input the info\n");
for(i=0;i<5;i++)
scanf("%d",&students[i].num );
scanf("%f",&students[i].s1 );
scanf("%f",&students[i].s2 );
scanf("%f",&students[i].s3 );
scanf("%s",&students[i].name );
scanf("%s",&students[i].sex );
scanf("%s",&students[i].addr );
for(i=0;i<5;i++)
aver[i]=(students[i].s1 +students[i].s2 +students[i].s3 )/3;
prinnf("第%d的平均成绩为:%f。",i+1,aver[i]);
if(aver[i]>max)//没有考虑平均分相等
max=aver[i];
j=i;
prinf("%d %f %f %f %s %s %s",students);//自己写输出信息把
/*
for(i=0;i<80;i++)
if(students[i].s>=60)
printf("%d %f %s %s %s",students[i].num,students[i].s,students[i].name,students[i].sex,students[i].addr);
*/
printf("");
return 0;
以上代码仅供参考追问
有 一个错误额
追答呵呵,当然有错误啊,我说过了,仅供参考。
参考技术A 需100分,采纳后立即发送邮箱。以上是关于C语言:输入5个学生的姓名、性别、年龄、成绩,然后按成绩从大到小排序,然后分4列输出结果。的主要内容,如果未能解决你的问题,请参考以下文章
定义一个学生类,需要有姓名,年龄,考试成绩三个成员属性,创建5个对象,属性可以任意值。OC