C语言:输入5个学生的姓名、性别、年龄、成绩,然后按成绩从大到小排序,然后分4列输出结果。
具体要求如下:a)用一个函数,实现输入功能;b)用一个函数,实现两个学生的数据交换功能;c)用一个函数,实现排序功能;d)用一个函数,实现输出功能。...
具体要求如下:
a)用一个函数,实现输入功能;
b)用一个函数,实现两个学生的数据交换功能;
c)用一个函数,实现排序功能;
d)用一个函数,实现输出功能。 展开
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;
}
以上代码仅供参考
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;
}
以上代码仅供参考
追问
有 一个错误额
追答
呵呵,当然有错误啊,我说过了,仅供参考。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询