- CCF201809-1卖菜
- 使用语言:C++
- 题目要求:
使用了两个数组,最开始是将b[0]=(a[0]+a[1])/2; b[n-1]=(a[n-1]+a[n-2])/2;
写在了for循环里面,使用的if语句对输入的i进行判断,但输出结果不正确,所可能是循环出错了。
将第一个和最后一个直接计算,再利用循环计算中间的数。
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int a[n];
int b[n];
for(int i=0;i<n;i++){
cin>>a[i];
}
b[0]=(a[0]+a[1])/2;
b[n-1]=(a[n-1]+a[n-2])/2;
for(int i=1;i<n-1;i++){
b[i]=(a[i-1] + a[i] + a[i+1]) / 3;
}
for(int i=0;i<n;i++){
cout<<b[i]<<" ";
}
return 0;
}