问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言字符串排序(结果:computer design 为第一位,而不是basic。那里错了??? ??)

发布网友 发布时间:2022-12-26 06:45

我来回答

2个回答

热心网友 时间:2023-10-15 00:08

//给你改了下 ,变量k就是在瞎折腾,完全没必要
#include<stdio.h>
#include<string.h>
main()
{
void sord(char *p[],int n);
void print(char *p[]);
char *p[]={"follow","basic","great wall","fortran","computer design"};
sord(p,5);
print(p);
}

void sord(char *p[],int n)
{
int i,j,k;
char *pi;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(strcmp(p[i],p[j])>0)
{pi=p[i];p[i]=p[j];p[j]=pi;}
}
}
}
void print(char *p[])
{
for(int i=0;i<5;i++)
printf("%s\n",p[i]);
}

热心网友 时间:2023-10-15 00:08

选择排序不是那样的!

void sord(char *p[],int n)
{
int i,j,k;
char *pi;

for(i=0;i<n - 1;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if(strcmp(p[k],p[j])>0) k=j;
}

if(k!=i) // 放到 for外面
{pi=p[i];p[i]=p[k]; p[k]=pi;
}
}
}追问说到关键的地方了。可为什么我的程序只有第一、二位不对呢???

追答for(j=i+1;j0) k=j;
if(k!=i)
{pi=p[i];p[i]=p[k]; p[k]=pi;}
}

你的这个,也能把p[i] 和 后面比较小的字符串交换! 但是错误在于 当找到第一个比当前i字符串小的字符串j时。就把k赋值为j了,以后不管大小都会交换。所以结果也是未定的。

正确的:
#include
#include
int main(void)
{
void sord(char *p[],int n);
void print(char *p[]);
char *p[]={"follow","basic","great wall","fortran","computer design"};
sord(p,5);
print(p);
return 0;
}

void sord(char *p[],int n)
{
int i,j,k;
char *pi;

for(i=0;i0) k=j;

if(k!=i)
{pi=p[i];p[i]=p[k]; p[k]=pi;}
}
}

void print(char *p[])
{
int i;
for(i=0;i<5;i++)
printf("%s\n",p[i]);
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
孤胆枪手怎么设置局域网啊、 我家小狗刚领来,没有名字,拜托大家起个名字。 护肤品代加工 水浒Q传跨服PK是怎么回事啊 新水浒Q传什么叫PK保护状态,上号不到一分钟就被打,求解 水浒Q传 为什么要pk有什么好处? 为什么贷款每次都审核失败 有谁能说一下手机贷审核不通过的原因吗?我都审核好多次了都不能通过... 贷款审核失败是什么原因 为什么贷款未通过审核 c语言,输入246时,排在表格的第一列,为什么不排在横排的第一行 蜂鸟众包被扣了50,怎么申诉 如何不暴饮暴食 如何以健康的方式停止暴饮暴食 路亚怎样钓黑鱼 预算评审书是啥 360版的eset nod32老是不能正常激活.怎么办啊?着急啊 贵州茅台今天走势图,600519今天走势图 贵州茅台走势图解?贵州茅台股票的股吧?贵州茅台最新利空? 现在打工到底有多难? 鸭血如何做嫩 在校大学生怎样贷款?该注意什么? 猪西是什么吖? 1:日薪260元,一年能干300来天。2:自己创业。怎么选择? 买猪肉搭猪西,精神啊什么意思 没学籍河南可以考公务员吗? 燃气过户网上办理流程 我过生日她送我一根双节棍,不知道是什麽意思?请你们帮我一下! 苹果11电话卡里的号码导入到手机,应该只导入了主卡,副卡没有导入进去,再导入没有提示了,怎么办呢? 电脑长期睡眠不关机好不好》 手机声音调到一样,是否距离近比距离远声音响? 体育比赛音响专业版怎样用 我昨晚梦见海面上突然起了龙头状的建筑物一直升起,后来海面有了一栋房子还有好多人 运动完第二天肌肉特别酸痛 春天钓青鱼绝密技巧 春天钓青鱼绝密技巧有什么 锻炼肌肉不疼,第二天很疼,感觉肌肉有点流失是怎么回事? 360安全浏览器没有network 九州缥缈录姬武神是什么意思 九州缥缈录姬武神的意思 二维动画师的工作权限是什么 magic mouse 2 + magic keyboard 放置一段时间 显示“电池耗尽”无法充电 这两个字是啥?有认识的吗? 绑钩器绑钩方法图解 这个谁用了会用的教我一下可以吗谢谢啦! 狡兔三窟!哪些星座善于给自己留后路,为人机敏办事周密? 巨蟹座和什么星座最能成为朋友 蒸豆腐怎么做好吃 蒸豆腐如何做好吃 如何区分彩虹和虹 虹和霓的区别是什么? 虹和霓的区别? 霓和虹怎样区别 用物理知识来说明