把这串代码改成升序排序void bigswapStructstruct Package s1 struct Package s2 struct Package temp; 临时结构体变量 forint i=0;icount;i++ forint j=0;jcount-i-1;j++ ifpackagesjnumpackagesj
void bigswapStruct(struct Package* s1, struct Package* s2) { struct Package temp; // 临时结构体变量 for(int i=0;i<count;i++) for(int j=0;j<count-i-1;j++) { if(packages[j].num>packages[j+1].num||(packages[j].num==packages[j+1].num&&strcmp(packages[j].name, packages[j+1].name)>0)) { temp = *s1; // 将 s1 的值赋给 temp *s1 = *s2; // 将 s2 的值赋给 s1 *s2 = temp; // 将 temp 的值赋给 s2 } } }
void big(){ for (int i = 0; i < count-1; i++) { bigswapStruct(&packages[i], &packages[i + 1]); } printf("升序排序后的包裹:\n"); for (int m = 0; m < count; m++) { printf("快递收件人姓名:%s\n",packages[m].name); printf("快递编号:%d\n", packages[m].num); printf("收件人电话:%d\n", packages[m].phone); printf("\n"); }
原文地址: https://www.cveoy.top/t/topic/hqQn 著作权归作者所有。请勿转载和采集!