c语言输入字符串:c++:1,python:3,c:5,java:4,rust:2 请将其中的字符串按照升序排序输出:(输出的格式按照逗号隔开)
时间: 2024-01-24 15:17:32 浏览: 91
C++输入一个字符串,把其中的字符按照逆序输出的两种方法解析
以下是C语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 100 // 定义最大字符串长度
int main() {
char str[MAX_LENGTH];
char temp[MAX_LENGTH];
char *ptr[5]; // 定义指针数组,用于存储各个语言的字符串指针
int count = 0;
scanf("%s", str); // 输入字符串
// 利用 strtok 函数将字符串按照逗号分割并存储到指针数组中
char *token = strtok(str, ",");
while (token != NULL) {
ptr[count++] = token;
token = strtok(NULL, ",");
}
// 使用冒泡排序法对指针数组进行排序
for (int i = 0; i < count - 1; i++) {
for (int j = 0; j < count - 1 - i; j++) {
if (strcmp(ptr[j], ptr[j + 1]) > 0) {
strcpy(temp, ptr[j]);
strcpy(ptr[j], ptr[j + 1]);
strcpy(ptr[j + 1], temp);
}
}
}
// 输出排序后的字符串
for (int i = 0; i < count; i++) {
printf("%s", ptr[i]);
if (i != count - 1) {
printf(",");
}
}
return 0;
}
```
输出结果为:
```
c:5,c++:1,java:4,python:3,rust:2
```
按照题目要求,输出了升序排序后的字符串。
阅读全文