C语言:输入5个学生的姓名、性别、年龄、成绩,然后按成绩从大到小排序,然后分4列输出结果。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言:输入5个学生的姓名、性别、年龄、成绩,然后按成绩从大到小排序,然后分4列输出结果。相关的知识,希望对你有一定的参考价值。

具体要求如下:
a)用一个函数,实现输入功能;
b)用一个函数,实现两个学生的数据交换功能;
c)用一个函数,实现排序功能;
d)用一个函数,实现输出功能。

#include "stdafx.h"
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列输出结果。的主要内容,如果未能解决你的问题,请参考以下文章

用C语言设计一个学生成绩管理系统

定义一个学生类,需要有姓名,年龄,考试成绩三个成员属性,创建5个对象,属性可以任意值。OC

关于c语言的一个问题

有一个学生数据库,有以下关系模式构成: 学生(学号,姓名,性别,年龄,所在系)

C语言程序设计--班级档案管理系统

用JAVA编写一个学生类Student的程序