用c++写出:不改变整型变量a, b, c的值,利用指针变量*p1,*p2,*p3交换实现上述三个数由大到小的排序和输出。
时间: 2024-02-09 12:11:57 浏览: 107
可以用以下代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int a = 5, b = 3, c = 7;
int *p1, *p2, *p3;
p1 = &a;
p2 = &b;
p3 = &c;
// 排序
if (*p1 < *p2) {
int temp = *p1;
*p1 = *p2;
*p2 = temp;
}
if (*p1 < *p3) {
int temp = *p1;
*p1 = *p3;
*p3 = temp;
}
if (*p2 < *p3) {
int temp = *p2;
*p2 = *p3;
*p3 = temp;
}
// 输出
cout << "a = " << a << ", b = " << b << ", c = " << c << endl;
return 0;
}
```
这段代码中,我们先定义了三个整型变量a、b和c,以及三个指向整型变量的指针变量p1、p2和p3。然后我们分别将p1、p2和p3指向a、b和c。接下来,我们通过比较指针变量指向的值的大小,交换它们的值,实现了对a、b和c的排序。最后输出a、b和c的值。需要注意的是,这个过程中a、b、c的值并没有改变。
相关问题
使用C++运行此程序:不改变整型变量a, b, c的值,利用指针变量*p1,*p2,*p3交换实现 上述三个数由大到小的排序和输出
好的,以下是代码:
```c++
#include <iostream>
using namespace std;
int main() {
int a = 10, b = 20, c = 5;
int *p1, *p2, *p3;
p1 = &a;
p2 = &b;
p3 = &c;
// 比较a、b、c的大小,交换指针变量的指向
if (*p1 < *p2) {
int *temp = p1;
p1 = p2;
p2 = temp;
}
if (*p1 < *p3) {
int *temp = p1;
p1 = p3;
p3 = temp;
}
if (*p2 < *p3) {
int *temp = p2;
p2 = p3;
p3 = temp;
}
// 输出排序后的结果
cout << *p1 << " " << *p2 << " " << *p3 << endl;
return 0;
}
```
这里同样定义了三个整型变量a、b、c,以及三个指针变量p1、p2、p3。通过将p1、p2、p3分别指向a、b、c,就可以通过*p1、*p2、*p3来访问a、b、c的值。
在代码中,通过比较*p1、*p2、*p3的大小,交换指针变量的指向,从而实现了三个数由大到小的排序。最后输出排序后的结果。这样做并不改变a、b、c的值,只改变了指针变量的指向。
使用C++完成此程序:不改变整型变量a, b, c的值,利用指针变量*p1,*p2,.*p3交换实现 上述三个数由大到小的排序和输出
好的,下面是使用指针变量完成整型变量排序并输出的C++程序:
```c++
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
int *p1, *p2, *p3;
p1 = &a;
p2 = &b;
p3 = &c;
// 输入a、b、c的值
cout << "请输入a、b、c的值:";
cin >> a >> b >> c;
// 输出a、b、c的值
cout << "a的值为:" << a << endl;
cout << "b的值为:" << b << endl;
cout << "c的值为:" << c << endl;
// 使用指针变量排序,使得a、b、c的值由大到小
if (*p1 < *p2)
{
int temp = *p1;
*p1 = *p2;
*p2 = temp;
}
if (*p1 < *p3)
{
int temp = *p1;
*p1 = *p3;
*p3 = temp;
}
if (*p2 < *p3)
{
int temp = *p2;
*p2 = *p3;
*p3 = temp;
}
// 输出排序后的a、b、c的值
cout << "排序后,a的值为:" << a << endl;
cout << "排序后,b的值为:" << b << endl;
cout << "排序后,c的值为:" << c << endl;
return 0;
}
```
上述程序中,首先定义了三个整型变量a、b、c,以及三个指向整型变量的指针变量p1、p2、p3。然后通过指针变量p1、p2、p3对a、b、c进行排序,使得它们的值由大到小,最后输出排序后的a、b、c的值。
阅读全文