6-5 指针三个数排序 分数 6 作者 王峰 单位 华北水利水电大学 用指针法实现对输入的3个整数排序,按从小到大的顺序输出。 函数接口定义: 在这里描述函数接口。例如: int sortthree(int *pa,int *pb,int *pc); 传入三个整数的地址。 裁判测试程序样例: #include <stdio.h> int sortthree(int *pa,int *pb,int *pc); int main(){ int a,b,c; scanf("%d%d%d",&a,&b,&c); sortthree(&a,&b,&c); printf("%d %d %d",a,b,c); return 0; } 输入样例: 1 3 2 输出样例: 1 2 3
时间: 2024-03-20 08:38:51 浏览: 101
实现代码如下:
```c++
void swap(int* pa, int* pb) {
int temp = *pa;
*pa = *pb;
*pb = temp;
}
int sortthree(int* pa, int* pb, int* pc) {
if (*pa > *pb) {
swap(pa, pb);
}
if (*pa > *pc) {
swap(pa, pc);
}
if (*pb > *pc) {
swap(pb, pc);
}
return 0;
}
```
该函数使用了 `swap()` 函数来实现交换两个整数的值。在 `sortthree()` 函数中,首先比较 `pa` 和 `pb` 的值,如果 `pa` 大于 `pb`,则交换它们的值。然后比较 `pa` 和 `pc` 的值,如果 `pa` 大于 `pc`,则交换它们的值。最后比较 `pb` 和 `pc` 的值,如果 `pb` 大于 `pc`,则交换它们的值。这样就可以保证三个整数按从小到大的顺序排列。
相关问题
6-5 指针三个数排序 分数 6 作者 王峰 单位 华北水利水电大学 用指针法实现对输入的3个整数排序,按从小到大的顺序输出。 函数接口定义: 在这里描述函数接口。例如: int sortthree(int *pa,int *pb,int *pc); 传入三个整数的地址。 裁判测试程序样例: #include <stdio.h> int sortthree(int *pa,int *pb,int *pc); int main(){ int a,b,c; scanf("%d%d%d",&a,&b
以下是实现 `sortthree` 函数的代码:
```c++
int sortthree(int *pa, int *pb, int *pc) {
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;
}
return 0;
}
```
该函数的实现方法是通过比较三个整数的大小,将它们按从小到大的顺序排列。在函数中,使用指针可以直接操作传入的三个整数的地址,而不需要传入值参数,从而更加高效。其中,如果一个整数比另外一个整数大,就交换它们的值,最终得到的三个整数就是按从小到大的顺序排列的。
阅读全文