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;
}
转载请注明原文地址:https://tech.qufami.com/read-12162.html