C语言,用指针方法编写两个程序。第一个程序,将 3 个整数按由小到大进行排序。在主函数中输入 3 个整数,通过调用该函数实现排序,再输出排序的结果。 第二个程序,若要实现将输入的 3 个字符串按由小到大进行排序,该如何编写(运行时输入的 3 个字 符串分别为“Student”,“C language”,“China”) ?
时间: 2024-03-14 14:43:55 浏览: 51
第一个程序的代码如下:
```c
#include <stdio.h>
void sort(int *a, int *b, int *c) {
int tmp;
if (*a > *b) {
tmp = *a;
*a = *b;
*b = tmp;
}
if (*a > *c) {
tmp = *a;
*a = *c;
*c = tmp;
}
if (*b > *c) {
tmp = *b;
*b = *c;
*c = tmp;
}
}
int main() {
int a, b, c;
printf("请输入三个整数:\n");
scanf("%d%d%d", &a, &b, &c);
sort(&a, &b, &c);
printf("排序后的结果为:%d %d %d\n", a, b, c);
return 0;
}
```
第二个程序的代码如下:
```c
#include <stdio.h>
#include <string.h>
void sort(char *a, char *b, char *c) {
char *tmp;
if (strcmp(a, b) > 0) {
tmp = a;
a = b;
b = tmp;
}
if (strcmp(a, c) > 0) {
tmp = a;
a = c;
c = tmp;
}
if (strcmp(b, c) > 0) {
tmp = b;
b = c;
c = tmp;
}
}
int main() {
char a[20], b[20], c[20];
printf("请输入三个字符串:\n");
scanf("%s%s%s", a, b, c);
sort(a, b, c);
printf("排序后的结果为:%s %s %s\n", a, b, c);
return 0;
}
```
阅读全文