用指针方法实现输入3个整数按由小到大的顺序输出
时间: 2023-06-05 12:47:59 浏览: 144
以下是用指针方法实现输入3个整数按由小到大的顺序输出的代码:
```
#include <stdio.h>
void sort(int *a, int *b, int *c);
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 ;
}
void sort(int *a, int *b, int *c) {
int temp;
if (*a > *b) {
temp = *a;
*a = *b;
*b = temp;
}
if (*a > *c) {
temp = *a;
*a = *c;
*c = temp;
}
if (*b > *c) {
temp = *b;
*b = *c;
*c = temp;
}
}
```
解释一下代码:
1. 首先在主函数中输入三个整数a、b、c,并调用sort函数进行排序。
2. sort函数中使用指针方法,将a、b、c的地址传递给函数,通过比较大小,将它们按由小到大的顺序排列。
3. 最后在主函数中输出排序后的结果。
希望能对你有所帮助!
相关问题
使用c语言用指针编程实现:输入3个整数,按由小到大顺序输出。
可以使用冒泡排序来实现这个功能,具体代码如下:
```c
#include <stdio.h>
void sort(int *a, int *b, int *c) {
int temp;
if (*a > *b) {
temp = *a;
*a = *b;
*b = temp;
}
if (*b > *c) {
temp = *b;
*b = *c;
*c = temp;
}
if (*a > *b) {
temp = *a;
*a = *b;
*b = temp;
}
}
int main() {
int a, b, c;
printf("请输入三个整数:");
scanf("%d%d%d", &a, &b, &c);
sort(&a, &b, &c);
printf("由小到大排列后的结果为:%d %d %d\n", a, b, c);
return 0;
}
```
在 `sort` 函数中,我们使用指针传递三个整数的地址,然后进行冒泡排序。在 `main` 函数中,我们输入三个整数,并且调用 `sort` 函数进行排序,最后输出结果。
使用指针编程实现,输入三个正整数,由小到大顺序输出
以下是使用指针编程实现输入三个正整数,由小到大顺序输出的示例代码:
```c++
#include <iostream>
using namespace std;
void sort(int *a, int *b, int *c);
int main() {
int x, y, z;
cout << "请输入三个正整数: ";
cin >> x >> y >> z;
sort(&x, &y, &z);
cout << "排序后的结果为: " << x << " " << y << " " << z << endl;
return 0;
}
void sort(int *a, int *b, int *c) {
int temp;
if (*a > *b) {
temp = *a;
*a = *b;
*b = temp;
}
if (*a > *c) {
temp = *a;
*a = *c;
*c = temp;
}
if (*b > *c) {
temp = *b;
*b = *c;
*c = temp;
}
}
```
首先,我们定义了一个 `sort` 函数,该函数接受三个指向整数的指针参数,用于对这三个整数进行排序。在 `main` 函数中,我们首先声明了三个整数变量 `x`、`y` 和 `z`,并通过 `cin` 输入了它们的值。接着,我们调用 `sort` 函数,并将三个整数的地址传递给它。最后,我们按照顺序输出这三个整数的值。
在 `sort` 函数中,我们使用了指针的运算,将指针所指向的值进行比较和交换。具体来说,我们首先比较 `a` 和 `b`,如果它们的值不是按照顺序排列的,则交换它们的值。接着,我们比较 `a` 和 `c`,以及 `b` 和 `c`,并分别进行交换操作。最终,三个整数的值就被按照从小到大的顺序排列了。
阅读全文