本关任务:利用动态内存分配重新编写实训第5关(习题6.5修改版),要求能处理任意人数的成绩,总人数由用户输入,然后对应数量的成绩,最后根据根据输入的号码(注意最小号码是1)输出对应学生的成绩,当输入号码不合法时,输出Error。
例如:输入人数10,再输入十个成绩78 86.5 65 99 91 77.5 56 72 84 88,再输入号码4,输出99。
注意:记得释放动态分配的内存。
#include <iostream>
using namespace std;
int main()
{
int n;cin>>n;
double * arr = new double[n];
for(int i=0;i<n;i++)
{
cin>>arr[i];
if(arr[i] <0||arr[i]>100)
{
cout<<"Error"<<endl;
return 0;
}
}
int k;cin>>k;k--;
if(k<0||k>=n)
{
cout<<"Error"<<endl;
return 0;
}
cout<<arr[k]<<endl;
delete[] arr;
return 0;
}