编写一个程序,它使用下列函数:
Fill_array()将一个double数组的名称和长度作为参数。它提示用户输入double值,并将这些值存储到数组中。当数组被填满或用户输入了非数字时,输入将停止,并返回实际输入了多少个数字。
Show_array()将一个double数组的名称和长度作为参数。并显示该数组的内容。
Reverse_array()将一个double数组的名称和长度作为参数。,并将存储在数组中的值的顺序反转。反转数组中除第一个和最后一个元素之外的所有元素。
程序将使用这些函数来填充数组,然后显示数组;反转数组,然后显示数组;
#include <iostream>
const size_t size=10;
size_t Fill_array(double [], const size_t );
void Show_array(const double [], const size_t );
void Reverse_array(double [], const size_t);
int main(void)
{
double *p_array=new double[size];
size_t fact;
fact=Fill_array(p_array, size);
Show_array(p_array, size);
Reverse_array(p_array, fact-1);
Show_array(p_array, fact);
delete [] p_array;
return 0;
}
size_t Fill_array(double array[],const size_t size_)
{
size_t f=0;
std::cout << "Input values to array(q to quit)
";
std::cout << "1:";
while(std::cin >> array[f] and (++f != size_))
{
std::cout << f+1 << ":";
}
return f;
}
void Show_array(const double array[],const size_t size_)
{
for(int i=0; i<size_; i++)
std::cout << std::endl <<i+1 <<':' <<array[i] << std::endl;
}
void Reverse_array(double array[],const size_t size_)
{
size_t k=size_/2;
double temp;
for(int i=1; i<=k; i++)
{
temp=array[i];
array[i]=array[size_-i];
array[size_-i]=temp;
}
}