(1)排序功能通过函数实现,3个整数用3个变量,不必定义数组;
(2)写出两个版本的函数,一个采用传地址值的方法,另一个采用引用类型作参数
/* * Copyright (c) 2014,烟台大学计算机学院 * All right reserved. * 作者:邵帅 * 文件:demo.cpp * 完成时间:2014年12月17日 * 版本号:v1.0 */ #include <iostream> using namespace std; void sort(int &x, int &y, int &z); void sort2(int *x, int *y, int *z); int main() { int a, b, c; int d, e, f; cout<<"将使用引用法排序,请输入:"; cin >> a >> b >> c; sort(a, b, c); cout << "引用排序后的数字为:" << a << " " << b << " " << c<<endl; cout<<"将使用指针法排序,请输入:"; cin >> d >> e >> f; sort2(&d, &e, &f); cout << "指针排序后的数字为:" << d << " " << e << " " << f<<endl; return 0; } void sort(int &x, int &y, int &z) { int temp; while (1) { if (x > y) { temp = x; x = y; y = temp; } if (y > z) { temp = y; y = z; z = temp; } if (x > z) { temp = x; x = z; z = temp; } if (x < y && y < z && x < z) break; } } void sort2(int *x, int *y, int *z) { int temp; while (1) { if (*x > *y) { temp = *x; *x = *y; *y = temp; } if (*y > *z) { temp = *y; *y = *z; *z = temp; } if (*x > *z) { temp = *x; *x = *z; *z = temp; } if (*x < *y && *y < *z && *x < *z) break; } }
运行结果:
@ Mayuko