C语言用指针实现:输入3个字符串,按由小到大的顺序输出。输入3个字符串(长度均不超过80),以换行分隔。对3个字符串进行升序排序后输出,以换行分隔。
时间: 2024-02-22 11:00:25 浏览: 73
C语言指针一
好的,这是一个简单的字符串排序问题,可以使用指针和字符串库函数来实现。以下是一个C语言的实现示例:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 80
void swap(char **str1, char **str2) {
char *temp = *str1;
*str1 = *str2;
*str2 = temp;
}
void sortStrings(char **strings, int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (strcmp(strings[i], strings[j]) > 0) {
swap(&strings[i], &strings[j]);
}
}
}
}
int main() {
char str[3][MAX_LENGTH + 1];
// 输入3个字符串
for (int i = 0; i < 3; i++) {
fgets(str[i], MAX_LENGTH + 1, stdin);
str[i][strcspn(str[i], "\n")] = '\0'; // 去除输入字符串中的换行符
}
// 对3个字符串进行排序
sortStrings(str, 3);
// 按顺序输出排序后的3个字符串
for (int i = 0; i < 3; i++) {
printf("%s\n", str[i]);
}
return 0;
}
```
输入示例:
```
hello
world
foo
```
输出示例:
```
foo
hello
world
```
希望这个示例对你有所帮助!
阅读全文