字符串的冒泡排序c语言
时间: 2023-12-06 17:37:59 浏览: 54
以下是C语言实现字符串冒泡排序的代码:
```c
#include <stdio.h>
#include <string.h>
void swap(char *x, char *y) {
char t = *x;
*x = *y;
*y = t;
}
int main() {
char a[100];
scanf("%s", a);
int len = strlen(a);
for (int i = 1; i <= len; i++) {
for (int j = 0; j < len - i; j++) {
if (a[j] > a[j + 1]) {
swap(&a[j], &a[j + 1]);
}
}
}
puts(a);
return 0;
}
```
该代码通过输入一个字符串,使用冒泡排序算法对字符串进行排序,并输出排序后的结果。
相关问题
字符串冒泡排序c语言
下面是字符串冒泡排序的C语言代码:
```
#include <stdio.h>
#include <string.h>
int main() {
char str[100][100], temp[100];
int n, i, j;
printf("Enter number of strings: ");
scanf("%d", &n);
printf("Enter %d strings:\n", n);
for (i = 0; i < n; i++) {
scanf("%s", str[i]);
}
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (strcmp(str[j], str[j + 1]) > 0) {
strcpy(temp, str[j]);
strcpy(str[j], str[j + 1]);
strcpy(str[j + 1], temp);
}
}
}
printf("\nSorted strings:\n");
for (i = 0; i < n; i++) {
printf("%s\n", str[i]);
}
return 0;
}
```
该程序使用了两层循环,外层循环从0到n-1遍历每个字符串,内层循环从0到n-i-1遍历未排序的字符串。如果相邻的字符串顺序不正确,则交换它们的位置。在最后,输出排好序的字符串数组。
字符串的冒泡排序 c语言
字符串的冒泡排序是一种基于冒泡排序算法的字符串排序方法,它可以将一个字符串按照字典序从小到大排序。在C语言中,可以通过比较字符串中每个字符的ASCII码值来实现字符串的比较和排序。具体实现可以参考下面的代码示例:
```c
#include <stdio.h>
#include <string.h>
void bubble_sort(char s[], int k);
int main()
{
char s[100];
int k;
printf("请输入字符串:\n");
scanf("%s", s);
printf("请输入K的值:\n");
scanf("%d", &k);
printf("第%d遍扫描后的中间结果序列为:\n", k);
bubble_sort(s, k);
printf("%s\n", s);
return 0;
}
void bubble_sort(char s[], int k)
{
int i, j, len;
char temp;
len = strlen(s);
for (i = 0; i < k; i++) {
for (j = 0; j < len - i - 1; j++) {
if (s[j] > s[j + 1]) {
temp = s[j];
s[j] = s[j + 1];
s[j + 1] = temp;
}
}
}
}
```