习题 6.14 将n个数按输入时顺序的逆序排列,用函数实现。
代码:
#include<iostream>
using namespace std;
int main()
{
double arr[50];
int i, n;
void func(double*, int);
cout << "请输入任意个数(输入最后一个数之后不要加空格):" << endl;
for (i = 0; i != 50; ++i) //输入时数据不能使用换行符
{
cin >> arr[i];
if (cin.get() == '\n') //当输入换行符时,退出for循环;cin.get()函数来自书本第414页
{
break;
}
}
n = i + 1;
func(arr, n);
cout << "逆序为:" << endl;
for (i = 0; i != n; ++i)
{
cout << arr[i] << " ";
}
return 0;
}
void func(double* arr, int n)
{
int i;
double temp;
for (i = 0; i != n / 2; ++i) //规律可能一下子看不出来,可以举例子代入一步一步分析
{
temp = arr[i];
arr[i] = arr[n - 1- i];
arr[n -1 - i] = temp;
}
}
<