gpt4 book ai didi

c - 如何在C中对数组中的字符串进行排序?

转载 作者:行者123 更新时间:2023-11-30 19:12:46 25 4
gpt4 key购买 nike

for (j = 1; j < x; j++) 
{
for (n = 1; n < x; n++)
{
if (strcmp(info[n - 1].lname, info[n].lname) > 0)
{
strcpy(t, info[n - 1].lname);
strcpy(info[n - 1].lname, info[n].lname);
strcpy(info[n].lname, t);
}
}
}


for (j=0; j < x; j++)
{
printf("\n-------------------------------------------------------------------------\n");
printf("ID number: %d", info[j].ID);
printf("\nName: %s %s", info[j].fname, info[j].lname);
printf("\nClass: %d%s", info[j].form, info[j].classname);
printf("\nSymptons: %s", info[j].symptom);
printf("\nPrescription: %s", info[j].symadmin);
printf("\n-------------------------------------------------------------------------\n");

}

大家好,我现在一直在努力让它发挥作用。我想按姓氏对字符串数组进行排序。问题是,姓氏已排序,但随附的数据(例如 ID、fname、class 等)未按姓氏排序。即只有姓氏会改变位置。

我该如何纠正这个问题?提前致谢。

编辑:也许我可以看到实现,而不是文字。

最佳答案

您必须交换整个结构:

if (strcmp(info[n - 1].lname, info[n].lname) > 0)
{
Patient t;
t = info[n - 1];
info[n - 1] = info[n];
info[n] = t;
}

关于c - 如何在C中对数组中的字符串进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36491676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com