【发布时间】:2019-02-13 22:57:54
【问题描述】:
/* gets a string */
printf("Enter the string: ");
scanf("%s", s);
/* finds length of the string */
while(s[size]!='\0')
{
size++;
}
/* sorts the elements of the string using bubble sort */
for(j=0; j<size-1; j++)
{
for(i=0; i<(size-1-i); i++)
{
if(s[i]>s[i+1])
{
temp=s[i];
s[i]=s[i+1];
s[i+1]=temp;
}
}
/* displays pass by pass output */
printf("\nIteration %d\n", j+1);
printf("%s\n", s);
}
return 0;
这是我得到的输出 -
输入字符串:计算机
迭代 1 电脑
迭代 2 电脑
迭代 3 电脑
迭代 4 电脑
迭代 5 电脑
迭代 6 电脑
迭代 7 电脑
请更正代码并告诉我错误。谢谢!
【问题讨论】:
-
请解释这个
size-1-i。试试j。 -
我认为使用
while swapped条件而不是loop n times来理解冒泡排序更简单。 -
谢谢你们的投入!纠正了错误,现在可以正常工作了... :)
标签: c string bubble-sort