0
已解决
汤启恩
新手光能
新手光能
输入一个数组,左半边折到右半边,折叠一次,重叠在一起的数字累加,输出折叠后的数组
#include<bits/stdc++.h>
using namespace std;
int a[101],cnt;
int main(){
int n,j,i;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
if(n%2==0){
i=n/2;
j=n/2+1;
while(i>=1&&j<=n){
a[++cnt]=a[j]+a[i];
i--;
j++;
}
for(int i=cnt;i>=1;i--){
cout<<a[i]<<" ";
}
}
else{
j=n/2+2;
i=n/2;
while(j<=n&&i>=1){
a[++cnt]=a[i]+a[j];
i--;
j++;
}
a[++cnt]=a[n/2+1];
for(int i=1;i<=cnt;i++){
cout<<a[i]<<" ";
}
}
return 0;
}
汤启恩在2020-10-06 14:43:53追加了内容
ding
0
已采纳
蔡乐毅
高级光能
高级光能
输入
- if(n%2==1) cout<<a[n/2+1]<<' ';
- for(int i=n/2;i>=1;i--)
- cout<<a[i]+a[n-i+1]<<' ';
- 完美
0
0
康曦
中级光能
中级光能
int n,a[101],b[101],c[101],k=1;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
if(n%2==1){
for(int i=1;i<=(n-1)/2;i++){
b[i]=a[i];
}
for(int i=((n-1)/2+2);i<=n;i++){
c[k]=a[i];
k++;
}
int j=(n-1)/2;
cout<<a[(n+1)/2]<<" ";
for(int i=1;i<=(n-1)/2;i++){
cout<<b[j]+c[i]<<" ";
j--;
}
}
else{
for(int i=n/2;i>=1;i--){
b[k]=a[i];
k++;
}
int j=1;
for(int i=n/2+1;i<=n;i++){
c[j]=a[i];
j++;
}
for(int i=1;i<=n/2;i++){
cout<<b[i]+c[i]<<" ";
}
}
.........................................................................................................................................................................................................................................
0
0
0