附上题面
**
解题思路
**
设立数组 arr[1002]以及 arr2[1002]
读入数据后,将arr中的元素复制到arr2中,
arr[1]=(arr2[1]+arr2[2])/2,arr[n]=(arr2[n-1]+arr2[n])/2
用for循环遍历除arr[1]以及arr[n]的数组元素 , 并在for循环中执行arr[i]=(arr2[i-1]+arr2[i+1]+arr2[i])/2语句
AC代码
#include<iostream>
using namespace std;
int arr[1002];
int arr2[1002];
int main()
{
int n;
int m; //保存n的值
int i;
while(cin>>n)
{
m=n;
while(n--)
{
cin>>arr[m-n];
arr2[m-n]=arr[m-n];
}
n=m;
arr[1]=(arr2[1]+arr2[2])/2 ;
arr[n]=(arr2[n-1]+arr2[n])/2 ;
for(i=2;i<n;i++)
{
arr[i]=(arr2[i-1]+arr2[i+1]+arr2[i])/3;
}
for(i=1;i<=n;i++)
{
if(i!=n)
cout<<arr[i]<<" ";
else
cout<<arr[i]<<endl;
}
}
return 0;
}