用C语言 用指针实现:输入3个字符串,按由小到大的顺序输出。 输入 输入3个字符串(长度均不超过80),以换行分隔。 输出 对3个字符串进行升序排序后输出,以换行分隔。
时间: 2024-01-02 13:10:19 浏览: 70
好的,以下是使用指针实现按照字典序升序排序的C语言代码:
```c
#include <stdio.h>
#include <string.h>
void swap(char **s1, char **s2)
{
char *temp = *s1;
*s1 = *s2;
*s2 = temp;
}
int main()
{
char str[3][80];
// 输入
for (int i = 0; i < 3; ++i) {
fgets(str[i], 80, stdin);
str[i][strlen(str[i]) - 1] = '\0'; // 去掉换行符
}
// 排序
for (int i = 0; i < 2; ++i) {
for (int j = i + 1; j < 3; ++j) {
if (strcmp(str[i], str[j]) > 0) {
swap(&str[i], &str[j]);
}
}
}
// 输出
for (int i = 0; i < 3; ++i) {
printf("%s\n", str[i]);
}
return 0;
}
```
这里使用了一个 `swap` 函数来交换两个字符串的指针,从而实现排序。在输入时,使用了 `fgets` 函数来读取字符串,并用 `strlen` 函数去掉了末尾的换行符。在排序时,使用了 `strcmp` 函数来比较两个字符串的大小。
阅读全文