用C语言解决输入三个整数,要求使用指针完成三个整数由小到大输出。 本关的算法是三次交换
时间: 2024-03-22 20:41:06 浏览: 63
基于springboot共享经济背景下校园闲置物品交易平台源码数据库文档.zip
可以使用指针和三次交换的方法来实现三个整数的排序。具体的步骤是,首先比较三个整数中的前两个,如果前面的大于后面的,就交换它们。然后比较第二个和第三个整数,如果第二个大于第三个,就交换它们。最后再比较一次前两个整数,如果前面的大于后面的,就交换它们。这样就可以保证三个整数按照从小到大的顺序排列了。
以下是使用指针和三次交换实现的代码:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int tmp = *a;
*a = *b;
*b = tmp;
}
int main() {
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
if (a > b) {
swap(&a, &b);
}
if (b > c) {
swap(&b, &c);
}
if (a > b) {
swap(&a, &b);
}
printf("%d %d %d", a, b, c);
return 0;
}
```
首先,我们从输入中读取三个整数 `a`、`b` 和 `c`。然后,我们使用三次交换来比较这三个整数,并将它们按照从小到大的顺序排列。具体来说,我们首先比较 `a` 和 `b`,如果 `a` 大于 `b`,就交换它们。然后比较 `b` 和 `c`,如果 `b` 大于 `c`,就交换它们。最后再次比较 `a` 和 `b`,如果 `a` 大于 `b`,就交换它们。这样,三个整数就被排列成了从小到大的顺序。
最后,我们使用 `printf` 函数输出排列后的三个整数。
阅读全文