作业:构造学生结构体(成员变量包括name,age,score),定义一个结构体数组,完成成员信息的输入,并以成绩为条件完成对学生成员的冒泡排序并输出(全在主函数内完成)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct Student
{
char name[100];
int age;
double score;
};
int main(int argc,const char* argv[])
{
int i,j,n;
printf("请输入学生个数\n");
scanf("%d",&n);
struct Student a[n];
for(i=0;i<n;i++)
{
printf("请输入第%d个同学的信息\n",i+1);
scanf("%s%d%lf",a[i].name,&a[i].age,&a[i].score);
}
struct Student t;
for(i=1;i<n;i++)
{
for(j=0;j<n-i;j++)
{
if(a[j].score<a[j+1].score)
{
t=a[j+1];
a[j+1]=a[j];
a[j]=t;
}
}
}
printf("学生的成绩排名如下\n");
for(i=0;i<n;i++)
{
printf("%s\t%d\t%.2lf\n",a[i].name,a[i].age,a[i].score);
}
return 0;
}
学习内容思维导图