1.题目:
Fill_array()将一个double数组的名称和长度作为参数。它提示用户输入double值,并将这些值存储到数组中。当数组被填满或用户输入了非数字时,输入将停止,并返回实际输入了多少个数字。
Show_array()将一个double数组的名称和长度作为参数,并显示该数组的内容。
Reverse_array()将一个double数组的名称和长度作为参数,并将储存在数组中的值的顺序反转。
程序将使用上述函数来填充数组,然后显示数组;反转数组,然后显示数组;反转数组中除第一个和最后一个元素之外的所有元素,然后显示数组
2.代码:
#include <iostream>
#define Length 15 //宏定义数组长度
using namespace std;
/*Fill_array()将一个double数组的名称和长度作为参数。
它提示用户输入double值,并将这些值存储到数组中。
当数组被填满或用户输入了非数字时,输入将停止,
并返回实际输入了多少个数字*/
int Fill_array(double *array,int length)
{
double temp;
int i;
for(i = 0; i < Length; i++)
{
cout << "请在第 " << i+1 <<"号元素输入double类型的数 :" << endl;
cin >> temp;
if(cin.fail()) //cin.fail()为true时,输入的数据类型与定义的不符
{
cin.clear();
break;
}
else
{
array[i] = temp;
}
}
return i;
}
void Show_array(double* array, int length) //将一个double数组的名称和长度作为参数,并显示该数组的内容。
{
for(int i = 0; i < length; i++) //打印输出
{
cout << array[i] << " ";
}
cout << endl;
}
void Reverse_array(double* array,int length) //将一个double数组的名称和长度作为参数,并将储存在数组中的值的顺序反转。
{
double temp;
for(int i = 0; i < length ; i++,length--) //首尾对应互换
{
temp = array[i];
array[i] = array[length-1];
array[length-1] = temp;
}
}
int main(void)
{
int ret;
double array[Length];
ret = Fill_array(array,Length); //返回你输入多少位数
cout << "你实际输入有效个数:" << ret << endl;
cout << "这个数组为:" << endl;
Show_array(array,ret);
Reverse_array(array,ret);
cout << "逆序后数组为:" << endl;
Show_array(array,ret);
Reverse_array(array+1,ret-2); //将数组第二个元素地址传进去
cout << "第一个元素和最后一个元素不变的逆序数组为:" << endl;
Show_array(array,ret);
system("pause");
return 0;
}
3.运行结果:


1078

被折叠的 条评论
为什么被折叠?



