题目中已经定义3个整型变量及3个整型指针变量,完成程序功能,仅用指针方法读入三个整数,并实现按由小到大的顺序进行排序,最后输出排序结果。
时间: 2023-12-14 21:02:32 浏览: 85
好的,下面是实现代码:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void sort(int *a, int *b, int *c) {
if (*a > *b) {
swap(a, b);
}
if (*a > *c) {
swap(a, c);
}
if (*b > *c) {
swap(b, c);
}
}
int main() {
int a, b, c;
int *pa = &a, *pb = &b, *pc = &c;
printf("请输入三个整数:\n");
scanf("%d%d%d", pa, pb, pc);
sort(pa, pb, pc);
printf("由小到大排序后的结果为:%d %d %d\n", *pa, *pb, *pc);
return 0;
}
```
以上代码中,我们定义了一个`swap`函数,用来交换两个整数的值;另外定义了一个`sort`函数,用来将三个整数按照由小到大的顺序进行排序。在`main`函数中,我们定义了三个整数变量和三个整型指针变量,通过指针变量获取用户输入的三个整数,然后调用`sort`函数进行排序,最后输出排序后的结果。
相关问题
题目中已经定义3个整型变量及3个整型指针变量,完成程序功能,仅用指针方法读入三个整数,并实现按由小到大的顺序进行排序,最后输出排序结果
好的,我理解了你的问题。以下是我的代码实现,仅使用指针方法读入和排序三个整数:
```c++
#include <iostream>
using namespace std;
void swap(int* a, int* b){
int temp = *a;
*a = *b;
*b = temp;
}
int main(){
int a, b, c;
int *p1, *p2, *p3;
p1 = &a;
p2 = &b;
p3 = &c;
cout << "请输入三个整数:" << endl;
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;
}
```
指针变量 `p1`、`p2`、`p3` 分别指向整型变量 `a`、`b`、`c`,通过 `cin` 输入三个整数,然后使用 `swap` 函数进行从小到大的排序。最后输出排序后的结果。
编写C++本关任务:题目中已经定义3个整型变量及3个整型指针变量,完成程序功能,仅用指针方法读入三个整数,并实现按由小到大的顺序进行排序,最后输出排序结果。
好的,下面是代码实现:
```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
```
阅读全文