#include <stdio.h>
#include <stdlib.h>
typedef struct Node
{
char Name[15];//学生姓名
int Score;//学生成绩
}Node;
void Sort(Node **chart,int n);//从大到小排序
int main(void)
{
int n,i;
Node *chart[50];
printf("请输入班级人数:\n");
scanf("%d",&n);//班级人数
putchar('\n');
if(n>50)//检测溢出
{
printf("ERROR!!\n");
return 1;
}
for(i=0;i<n;i++)
{
chart[i]=(Node *)malloc(sizeof(Node));
scanf("%s",chart[i]->Name);
scanf("%d",&chart[i]->Score);
}
Sort(chart,n);//调用排序函数
putchar('\n');
for(i=0;i<n;i++)//输出结果
{
printf("%15s\t",chart[i]->Name);
printf("%5d",chart[i]->Score);
putchar('\n');
}
return 0;
}
void Sort(Node **chart,int n)//从大到小排序
{
int i,j;
Node *p;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(chart[i]->Score<chart[j]->Score)
{
p=chart[i];
chart[i]=chart[j];
chart[j]=p;
}
}
指针数组 学生姓名成绩排序
最新推荐文章于 2023-06-01 22:14:27 发布