c语言编程从键盘输入一个字符串,用冒泡法对该字符串中的字符由大到小进行排序,并输出结果
时间: 2023-08-20 16:05:08 浏览: 103
好的,以下是 C 语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
void bubbleSort(char str[], int len) {
for (int i = 0; i < len - 1; ++i) {
for (int j = 0; j < len - i - 1; ++j) {
if (str[j] < str[j + 1]) {
char temp = str[j];
str[j] = str[j + 1];
str[j + 1] = temp;
}
}
}
}
int main() {
char str[100];
printf("请输入一个字符串:\n");
scanf("%s", str);
int len = strlen(str);
bubbleSort(str, len);
printf("排序后的字符串为:%s\n", str);
return 0;
}
```
需要注意的是,在 C 语言中,我们需要手动计算字符串的长度,可以使用 `strlen` 函数来实现。另外,由于 C 语言中没有字符串类型,我们需要使用字符数组来存储字符串。在排序时,我们使用类似于 C++ 的交换方法来交换数组中的元素。
相关问题
用C语言:从键盘输入一个字符串,用冒泡法对该字符串中的字符由大到小进行排序,并输出结果。
下面是用C语言实现从键盘输入一个字符串,用冒泡法对该字符串中的字符由大到小进行排序,并输出结果的代码:
```c
#include <stdio.h>
#include <string.h>
void bubbleSort(char str[], int n) {
int i, j;
char temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (str[j] < str[j + 1]) {
temp = str[j];
str[j] = str[j + 1];
str[j + 1] = temp;
}
}
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
int n = strlen(str);
bubbleSort(str, n);
printf("排序后的字符串为:%s\n", str);
return 0;
}
```
首先,我们定义了一个 `bubbleSort` 函数,它接受一个字符串和字符串长度作为参数,并使用冒泡排序算法对该字符串进行排序。
在 `main` 函数中,我们从键盘输入一个字符串,并使用 `strlen` 函数获取字符串长度。然后,我们调用 `bubbleSort` 函数对该字符串进行排序,并输出排序后的结果。
C语言:从键盘输入一个字符串,用冒泡法对该字符串中的字符由大到小进行排序,并输出结果。
好的,这是一个经典的冒泡排序的问题。以下是C语言的代码实现:
```c
#include <stdio.h>
#include <string.h>
void bubbleSort(char str[], int len) {
int i, j;
char temp;
for (i = 0; i < len - 1; i++) {
for (j = 0; j < len - i - 1; j++) {
if (str[j] < str[j + 1]) {
temp = str[j];
str[j] = str[j + 1];
str[j + 1] = temp;
}
}
}
}
int main() {
char str[100];
printf("请输入一个字符串: ");
scanf("%s", str);
int len = strlen(str);
bubbleSort(str, len);
printf("排序后的字符串为: %s\n", str);
return 0;
}
```
首先,我们定义了一个`bubbleSort`函数来实现冒泡排序。在函数内部,我们使用嵌套循环来遍历字符串中的每一个字符,然后比较相邻的两个字符的大小,如果前一个字符比后一个字符小,就交换它们的位置,以实现从大到小的排序。
在主函数中,我们先从键盘输入一个字符串,然后计算出字符串的长度,并把字符串和长度作为参数传递给`bubbleSort`函数。最后,我们打印出排序后的字符串。
注意,这里使用了`strlen`函数来计算字符串的长度,该函数需要包含头文件`string.h`。另外,由于输入的字符串可能包含空格,所以我们使用了`scanf`函数来读取字符串,而不是使用`gets`函数。
阅读全文