用c语言输入n个学生的学号,姓名,成绩,并按成绩降序排列并输出
时间: 2023-03-15 18:56:20 浏览: 207
可以使用以下代码:#include<stdio.h>struct student
{
int num;
char name[20];
int score;
};int main()
{
int i,j,n;
printf("请输入学生数量:");
scanf("%d",&n);
struct student stu[n];
for(i=0;i<n;i++)
{
printf("请输入第%d个学生的学号、姓名和成绩:",i+1);
scanf("%d %s %d",&stu[i].num,stu[i].name,&stu[i].score);
}
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(stu[j].score<stu[j+1].score)
{
struct student temp=stu[j];
stu[j]=stu[j+1];
stu[j+1]=temp;
}
}
}
printf("按成绩降序排列:\n");
printf("学号\t姓名\t成绩\n");
for(i=0;i<n;i++)
{
printf("%d\t%s\t%d\n",stu[i].num,stu[i].name,stu[i].score);
}
return 0;
}