编写C++本关任务:题目中已经定义3个整型变量及3个整型指针变量,完成程序功能,仅用指针方法读入三个整数,并实现按由小到大的顺序进行排序,最后输出排序结果。
时间: 2023-12-06 16:45:13 浏览: 155
好的,下面是代码实现:
```c++
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
int *p1 = &a, *p2 = &b, *p3 = &c;
cout << "请输入三个整数:";
cin >> *p1 >> *p2 >> *p3;
if (*p1 > *p2) {
swap(*p1, *p2);
}
if (*p1 > *p3) {
swap(*p1, *p3);
}
if (*p2 > *p3) {
swap(*p2, *p3);
}
cout << "排序后的结果为:" << *p1 << " " << *p2 << " " << *p3 << endl;
return 0;
}
```
运行效果:
```
请输入三个整数:2 1 3
排序后的结果为:1 2 3
```
相关问题
本关任务:题目中已经定义3个整型变量及3个整型指针变量,完成程序功能,仅用指针方法读入三个整数,并实现按由小到大的顺序进行排序,最后输出排序结果
好的,我理解了你的要求。以下是对应的代码实现:
```c++
#include <iostream>
using namespace std;
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
void sort(int* array[], int len) {
for (int i = 0; i < len - 1; i++) {
for (int j = i + 1; j < len; j++) {
if (*array[i] > *array[j]) {
swap(array[i], array[j]);
}
}
}
}
int main() {
int a, b, c;
int* pa = &a;
int* pb = &b;
int* pc = &c;
cin >> *pa >> *pb >> *pc;
int* array[] = { pa, pb, pc };
sort(array, 3);
cout << *array[0] << " " << *array[1] << " " << *array[2] << endl;
return 0;
}
```
程序中定义了三个整型变量 `a`、`b`、`c`,以及对应的三个整型指针变量 `pa`、`pb`、`pc`。在 `main` 函数中,通过读入指针变量的方式,把输入的三个整数分别存储到变量 `a`、`b`、`c` 中。
接着,将指向这三个变量的指针存储到一个指针数组 `array` 中,并调用 `sort` 函数进行排序。排序完成后,将排序后的三个指针分别指向的值输出即可。
`sort` 函数使用简单的冒泡排序算法实现,通过比较指针所指向的值大小,来交换指针在数组中的位置。
本关任务:编写c++程序题目中已经定义3个整型变量及3个整型指针变量,完成程序功能,仅用指针方法读入三个整数,并实现按由小到大的顺序进行排序,最后输出排序结果。 测试说明 平台会对你编写的代码进行测试,并且约定输入输出的整数有一个空格。 测试输入:81 98 37 预期输出:37 81 98
以下是实现题目功能的C++程序,仅用指针方法读入三个整数,并实现按由小到大的顺序进行排序,最后输出排序结果:
```
#include<iostream>
using namespace std;
int main()
{
int a,b,c;
int *pa=&a,*pb=&b,*pc=&c;
cin>>*pa>>*pb>>*pc;
if(*pa>*pb){int t=*pa;*pa=*pb;*pb=t;}
if(*pa>*pc){int t=*pa;*pa=*pc;*pc=t;}
if(*pb>*pc){int t=*pb;*pb=*pc;*pc=t;}
cout<<*pa<<" "<<*pb<<" "<<*pc<<endl;
return 0;
}
```
其中,变量a、b、c和指针变量pa、pb、pc分别用于存储输入的三个整数和它们的地址。通过指针方法,读入三个整数并进行排序,最后输出排序结果。
阅读全文