采用指针变量作为形参,编写一个实现两个整数交换的函数,在主函数中输入三个整数,调用数据交换函数图象,它们按从大到小的顺序排序后输出。
三个整数交换几个
看题目在这个程序中要写两个函数一个是判断是否是素数的函数,另外一个就是main函数
解决方案:
可以编写如下函数将两个整数交换:
void Swap(int* a, int* b)
{
int t = *a;
*a = *b;
*b = t;
}
这里使用了指针变量作为参数,相当于在函数内部直接操作原变量,实现了原变量的交换。
接下来可以编写排序函数,将三个数从大到小排序:
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);
}
这里使用了Swap函数来交换数值,排序的方法是比较三个数的大小,如果有必要就交换位置,这样就可以实现将三个数从大到小排序的功能。
最后在主函数中调用以上两个函数来完成任务:
int main()
{
int a, b, c;
cin >> a >> b >> c;
Sort(&a, &b, &c);
cout << c << " " << b << " " << a << endl;
return 0;
}
这里传递指针变量的地址作为参数,调用Sort函数完成排序,最后输出三个数按从大到小的顺序排序后的结果。
完整代码如下:
#include <iostream>
using namespace std;
void Swap(int* a, int* b)
{
int t = *a;
*a = *b;
*b = t;
}
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;
cin >> a >> b >> c;
Sort(&a, &b, &c);
cout << c << " " << b << " " << a << endl;
return 0;
}