使用C++完成此程序:从键盘上输入三个整数a, b,c的值,要求用指针变量作为函数参数,通过函数调用实现对三个数按从大到小顺序排序
时间: 2024-03-20 14:43:31 浏览: 63
好的,以下是代码实现:
```cpp
#include <iostream>
using namespace std;
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;
cout << "请输入三个整数: ";
cin >> a >> b >> c;
sort(&a, &b, &c);
cout << "从大到小排序后的结果为:" << a << " " << b << " " << c << endl;
return 0;
}
```
首先,定义了一个 `swap` 函数用于交换两个整数的值。接着,定义了一个 `sort` 函数,通过指针变量作为函数参数,实现对三个数按从大到小顺序排序。在 `sort` 函数中,使用了三个 `if` 语句,分别比较三个数的大小,并调用 `swap` 函数实现交换。最后,在 `main` 函数中,从键盘上输入三个整数,并调用 `sort` 函数进行排序,输出排序后的结果。
相关问题
使用c++完成以下程序:从键盘上输入三个整数a,b,c的值,要求用指针变量作为函数参数,通过函数调用实现对三个数按从大到小顺序排序。
可以参考以下代码:
```c++
#include <iostream>
using namespace std;
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;
cout << "请输入三个整数,用空格分隔:" << endl;
cin >> a >> b >> c;
sort(&a, &b, &c);
cout << "按从大到小排序后的结果为:" << a << " " << b << " " << c << endl;
return 0;
}
```
在 `sort` 函数中,使用指针变量作为参数,对传入的三个整数进行排序,排序后直接修改指针所指向的变量的值,从而实现了对原始变量的修改。在 `main` 函数中,通过 `&` 运算符获取三个变量的地址,并将它们传入 `sort` 函数中进行排序。最后输出排序后的结果。
C++,从键盘上输入三个整数a,b,c的值,要求用指针变量作为函数参数,通过函数调用实现对三个数按从大到小顺序排序。
好的,这里给出一个使用指针变量作为函数参数的函数实现,来实现对三个整数按从大到小排序的功能。您可以参考以下代码:
```c++
#include <iostream>
using namespace std;
void sort(int *a, int *b, int *c){
int tmp;
if(*a < *b){
tmp = *a;
*a = *b;
*b = tmp;
}
if(*a < *c){
tmp = *a;
*a = *c;
*c = tmp;
}
if(*b < *c){
tmp = *b;
*b = *c;
*c = tmp;
}
}
int main(){
int a, b, c;
cout << "请输入三个整数:";
cin >> a >> b >> c;
sort(&a, &b, &c);
cout << "排序后的结果为:" << a << " " << b << " " << c << endl;
return 0;
}
```
在这个程序中,我们首先定义了一个sort函数,它的参数是三个指针变量,用来指向输入的三个整数a、b、c。在sort函数内部,我们使用了冒泡排序的思想,不断比较三个数的大小,最终实现了将它们按从大到小排序的功能。在主函数中,我们通过sort函数将三个整数按从大到小排序,然后输出结果。
希望这个代码对您有所帮助!
阅读全文