求教成绩排序问题
给学生成绩排序,如果成绩相同则按姓名首字母,求教如何解决啊
程序代码:#include<stdio.h>
struct Student
{
char name[10];
float score;
};
void main()
{
struct Student a[4]={"zhan",68,"li",78,"wang",78,"sun",89};
int i,j;
for(i=0;i<4;i++)
printf("%s,%1.0f ",a[i].name,a[i].score);
printf("\n");
for( i=0;i<3;i++)
for(j=0;j<3-i;j++){
struct Student temp;
if(a[j].score<a[j+1].score)
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
else
if((a[j].score=a[j+1].score)&&(strcmp(a[j].name,a[j+1].name)>0))
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
for( i=0;i<4;i++)
printf("%s ",a[i].name);
printf("\n");
}如果要添加元素,只需要在语句里赋值语句里添加,并且改变循环的项数就可以了。