用指针法实现对输入的3个整数排序,按从小到大的顺序输出。
时间: 2023-05-31 20:19:21 浏览: 566
指针求三个数输出
### 回答1:
可以使用指针法实现对输入的3个整数排序,具体步骤如下:
1. 定义3个整型变量a、b、c,并从键盘输入它们的值。
2. 定义3个指向整型变量的指针pa、pb、pc,分别指向a、b、c。
3. 利用指针比较大小,将它们按从小到大的顺序排列。
4. 输出排列后的结果。
具体代码如下:
```
#include <stdio.h>
int main()
{
int a, b, c;
printf("请输入3个整数:\n");
scanf("%d%d%d", &a, &b, &c);
int *pa = &a, *pb = &b, *pc = &c;
int temp;
if (*pa > *pb) {
temp = *pa;
*pa = *pb;
*pb = temp;
}
if (*pa > *pc) {
temp = *pa;
*pa = *pc;
*pc = temp;
}
if (*pb > *pc) {
temp = *pb;
*pb = *pc;
*pc = temp;
}
printf("排序后的结果为:%d %d %d\n", *pa, *pb, *pc);
return ;
}
```
### 回答2:
对于用指针法实现对输入的3个整数排序,按从小到大的顺序输出,我们可以使用指针变量来实现。具体步骤如下:
1. 首先定义三个整型变量 a、b、c,用于存储用户输入的三个整数。
2. 然后定义三个指针变量 p1、p2、p3,分别指向 a、b、c。
3. 接下来使用 if 语句对三个整型变量进行比较,使得 p1 指向其中最小的数,p3 指向其中最大的数。
4. 然后在比较剩下两个数的大小,使 p2 指向中间的数。
5. 最后输出 p1、p2、p3 指向的三个数,即为将输入的三个整数从小到大排序后的结果。
具体代码如下:
```c++
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
cout << "请输入三个整数:" << endl;
cin >> a >> b >> c;
int *p1 = &a, *p2 = &b, *p3 = &c;
if (*p1 > *p2)
{
int *temp = p1;
p1 = p2;
p2 = temp;
}
if (*p2 > *p3)
{
int *temp = p2;
p2 = p3;
p3 = temp;
}
if (*p1 > *p2)
{
int *temp = p1;
p1 = p2;
p2 = temp;
}
cout << *p1 << " " << *p2 << " " << *p3 << endl;
return 0;
}
```
当用户输入三个整数为 3、2、5 时,输出为:
```
2 3 5
```
这说明我们的指针排序方法是实现正确的,可以得到正确结果。
### 回答3:
指针法是C语言中非常重要的一种重要的编程思想和技能。学会使用指针法,可以更加灵活高效地进行编程。对于输入的3个整数排序,按从小到大的顺序输出,可以通过指针法来实现。 首先,我们可以定义3个int类型的变量a、b、c,来分别存储输入的3个整数。然后,我们需要定义3个指向int类型数据的指针pa、pb、pc,分别指向a、b、c这三个变量。 接下来,我们需要使用if语句对a、b、c进行比较,并用指针比较它们的值的大小。这样,我们就可以判断数值的大小,然后通过交换指针的指向实现三个数的排序。 最后,我们可以按照从小到大的顺序输出这三个数。具体实现方法如下:
#include <stdio.h>
void main()
{
int a, b, c;
int *pa, *pb, *pc;
scanf("%d %d %d", &a, &b, &c);
pa = &a;
pb = &b;
pc = &c;
if (*pa > *pb)
{
int temp;
temp = *pa;
*pa = *pb;
*pb = temp;
}
if (*pa > *pc)
{
int temp;
temp = *pa;
*pa = *pc;
*pc = temp;
}
if (*pb > *pc)
{
int temp;
temp = *pb;
*pb = *pc;
*pc = temp;
}
printf("%d %d %d\n",*pa, *pb, *pc);
}
以上就是使用指针法实现对输入的3个整数排序,按从小到大的顺序输出的具体方法,希望能够为大家提供帮助。
阅读全文