首页 > 试题广场 >

编写一个程序,它使用下列函数: Fill_array(

[问答题]
编写一个程序,它使用下列函数:
Fill_array()将一个double数组的名称和长度作为参数。它提示用户输入double值,并将这些值存储到数组中。当数组被填满或用户输入了非数字时,输入将停止,并返回实际输入了多少个数字。
Show_array()将一个double数组的名称和长度作为参数,并显示该数组的内容。
Reverse_array()将一个double数组的名称和长度作为参数,并将存储在数组中的值的顺序反转。
程序将使用这些函数来填充数组,然后显示数组;反转数组,然后显示数组;反转数组中除第一个和最后一个元素之外的所有元素,然后显示数组。
#include <iostream>
using namespace std;
const int Max = 8;
int Fill_array(double* ar, int limit);
void Show_array(const double* ar, int n);
void Reverse_array(double* ar, int);
int main()
{
	double numbers[Max];
	int size = Fill_array(numbers, Max);
    Show_array(numbers, size);
	Reverse_array(numbers, size);
	cout << "After the reverse.";
	Show_array(numbers, size);
	cout << "After the reverse.";
	Reverse_array(numbers+1, size-2);
	Show_array(numbers, size);
        return 0;
}
int Fill_array(double* ar, int limit)
{	
	double temp;
	for (int i = 0; i < limit; i++)
	{
		cout << "Please enter double value # " << i+1 << ": ";
		cin >> temp;
		if (!cin)
		{
			cin.clear();
			while (cin.get() != '\n')
				continue;	
			cout << "Bad input; input proccess terminated. \n";
			break;
		}
		else 
		ar[i] = temp;
	}
	return i;
}
void Show_array(const double* ar, int n)
{
	cout << "The array is: ";
	for (int i = 0; i < n; i++)
	{
		cout << ar[i] << " ";
	}
	cout << endl;
}
void Reverse_array(double* ar, int n)
{
	double temp;
	for (int i = 0; i < n; i++, n--)
	{
		temp = ar[i];
		ar[i] = ar[n-1];
		ar[n-1] = temp;
	}
}


编辑于 2020-06-03 08:54:48 回复(0)