我试图找出如何让print函数同时显示一个原始数组(我已经显示了原始数组)和一个更新的数组。我学习c ++的正确语法很慢,所以我倾向于忘记细节。我试图让我的程序显示一个新的值列表,如:
新的值列表: 4.0,2.0 3.0 1.0
使用我的swapFirstLast(double a[], int n)
功能后。它应该应该将第一个值与它们的数组的最后一个值交换。原始列表显示1.0 2.0 3.0 4.0作为原始值。
所以最后它应该是:
值列表: 1.0 2.0 3.0 4.0
新的值列表: 4.0 3.0 2.0 1.0
以及中位数,但我试图在我自己解决之前直到我绝对需要帮助(我发布问题的原因)。谢谢你的时间。
#include <iostream>
#include<iomanip>
using namespace std;
int main()
{ int i, count=0;
double scores [10];
double value;
double sum=0.0;
cout << "Author: \n";
cout<< fixed << showpoint <<setprecision(1);//
cout<<"Input -1.0 when you are ready to stop."<<endl;
cout<<"Input a value: ";
cin>>value;
while( value!= -1.0 && count<10)
{ scores [count] = value;
count = count +1;
cout<<"Input a value: ";
cin>> value;
}
cout<<"\nYou entered "<<count<<" values"<<endl;
for (i=0; i<count; i++)
{ cout<<setw(6)<< scores[i];
sum+=scores[i];
}
cout<<"\n\nThe average of the values is:"<<sum/count<<endl;
return 0;
}
void swapFirstLast(double a[], int n)
{ double temp;
temp= a[0];
a[0] = a[n-1];
a[n-1]=temp;
}
void print( double a[], int n,double temp, int main())
{ double value;
cout<<"The list of values: "<<value<<endl;
cout<<"The new list of values: "<<temp<<endl;
}
答案 0 :(得分:0)
您已经拥有输出数组的代码。只排除和的计算
for (i=0; i<count; i++)
{ cout<<setw(6)<< scores[i];
sum+=scores[i];
}
您可以将此代码放在函数
中void print( const double a[], int n )
{
for ( int i = 0; i < n; i++ )
{
cout << setw(6) << a[i];
}
cout << endl;
}
除了打印之外,您不应该在此函数中包含执行其他任务的其他代码。
首先,您将调用该函数打印出原始数组。然后你将调用你的交换函数,然后再次调用函数print来打印出更改过的数组。