【发布时间】:2015-10-04 00:15:44
【问题描述】:
我有一个包含学生姓名字段的结构。我想按字母顺序排列名称。以下是存储在结构的名称字段中的名称列表:
Thui Bhu
Ariana B. Smith
Emily Gonzales
Jennifer L
Maria Jones
Bill Gates
Escobar Morris
Anne Latner
这是我定义结构的方式:
struct studentData {
char name[30];
int quiz1; int quiz2;
int quiz3; int quiz4;
int mid1; int mid2;
int finalexam;
} ;
这是我尝试用来排序的代码:
void SortNames(struct studentData *record, int reccount)
{
int j,i;
struct studentData temp;
for(i = 1; i < reccount; i++)
{
j = i - 1;
while( j >= 0 && strcmp( record[j+1].name, record[j].name) < 0 )
{
temp = record[j + 1]; /*errors*/
record[j+1] = record[j];
record[j] = temp; /*errors*/
j--;
}
printf("%s",record[j].name);
}
return;
}
这是我得到的输出:
Ariana B. SmithEmily GonzalesJennifer LAriana B. SmithEmily Gonzales
请帮忙!我愿意使用任何内置函数。
【问题讨论】: