c语言用户输入字符串badacgegfacb,程序对其进行按从小到大(ASCII)顺序排序
时间: 2024-05-02 10:22:53 浏览: 9
可以使用C语言中的strlen()函数获取字符串长度,然后使用C语言中的冒泡排序法对字符串进行排序。下面是示例代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int i, j, n;
printf("请输入一个字符串:");
scanf("%s", 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("按ASCII顺序排序后的字符串为:%s\n", str);
return 0;
}
```
注意:这段代码只适用于输入的字符串中不含有空格等特殊字符的情况,如果输入的字符串中含有空格等特殊字符,需要对输入进行处理。
相关问题
c语言 将字符串列表中的字符串按ascII从小到大排序
可以使用C语言中的qsort函数来进行排序,可以自定义比较函数来指定按照ascII码从小到大排序。示例代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 自定义比较函数
int cmp(const void *a, const void *b) {
return strcmp(*(char**)a, *(char**)b);
}
int main() {
char *string_list[] = {"apple", "banana", "cat", "dog"};
int n = sizeof(string_list) / sizeof(string_list[0]);
qsort(string_list, n, sizeof(char*), cmp);
for (int i = 0; i < n; i++) {
printf("%s ", string_list[i]);
}
printf("\n");
return 0;
}
```
输出:
```
apple banana cat dog
```
C语言编写一个实现对字符串降序排序的程序。 输入一个由ASCII字符组成的字符串(长度不超过20),输出按ASCII码值从小到大顺序输出排序后的字符串。
好的,这个问题是一个编程问题,可以回答。以下是一个用 C 语言编写的字符串降序排序的程序:
```C
#include <stdio.h>
#include <string.h>
int main()
{
char str[20];
int i, j, n;
// 输入字符串
printf("请输入一个由ASCII字符组成的字符串:\n");
scanf("%s", str);
// 获取字符串的长度
n = strlen(str);
// 对字符串进行冒泡排序
for (i = 0; i < n - 1; i++)
{
for (j = i + 1; j < n; j++)
{
if (str[i] < str[j])
{
char temp;
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
}
// 输出排序后的字符串
printf("排序后的字符串为:\n%s", str);
return 0;
}
```
以上是一个简单的实现,该程序输入一个由 ASCII 字符组成的字符串,将其按照 ASCII 码从大到小的顺序进行排序并输出。