c语言从键盘输入一个字符串,用冒泡法对该字符串中的字符由大到小进行排序,并输出结果。
时间: 2023-06-26 16:08:03 浏览: 166
以下是使用冒泡排序法对输入的字符串进行字符由大到小排序的C语言程序:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int i, j, n;
printf("请输入一个字符串:");
gets(str);
n = strlen(str);
// 冒泡排序法
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (str[j] < str[j + 1]) {
// 交换相邻两个字符
char temp = str[j];
str[j] = str[j + 1];
str[j + 1] = temp;
}
}
}
printf("排序后的字符串为:%s\n", str);
return 0;
}
```
运行程序后,输入一个字符串,程序会对其中的字符进行排序,并输出结果。注意,该程序中使用了C标准库函数`gets()`,该函数不安全,容易受到缓冲区溢出等攻击,应该尽量避免使用。在实际开发中,可以使用更加安全的函数`fgets()`代替`gets()`。
相关问题
用c语言写从键盘输入一个字符串,用冒泡法对该字符串中的字符由大到小进行排序,并输出结果。
好的,下面是用C语言实现字符串冒泡排序的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
int len = strlen(str);
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;
}
}
}
printf("排序后的字符串为:%s\n", str);
return 0;
}
```
这段代码首先读入一个字符串,然后获取该字符串的长度。接着,使用冒泡排序对字符串中的字符进行排序,最后输出排序后的字符串。注意,这里使用字符数组来保存字符串,因为字符串本质上就是一个字符数组。
用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` 函数对该字符串进行排序,并输出排序后的结果。
阅读全文