资深守护
#include<bits/stdc++.h>
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int n,a[105];
char b[105];
int main(){
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n-1;i++) cin>>b[i];
for(int i=1;i<=n;i++) cout<<a[i]<<b[i];
cout<<endl;
for(int i=1;i<=n;i++){
if(i!=n) cout<<"=";
if(b[i]=='+'){
a[i+1]=a[i]+a[i+1];
}else if(b[i]=='-'){
a[i+1]=a[i]-a[i+1];
}
for(int j=i+1;j<=n;j++){
cout<<a[j]<<b[j];
}
cout<<endl;
}
return 0;
}
5566哪里错了?
中级天翼
核心
if(b[i]=='+'){ sum=sum+a[i+1]; cout<<sum; for(int j=i+2;j<=n;j++){ cout<<b[j-1]<<a[j]; } } else if(b[i]=='-'){ sum=sum-a[i+1]; cout<<sum; for(int j=i+2;j<=n;j++){ cout<<b[j-1]<<a[j]; } }
中级守护
这道题你得再定义x,y,x=1,y=2;
然后把for循环改成while循环
if(b[1]=='-')s=a[x]-a[y];
else if(b[1]=='+')s=a[x]+a[y];
while(x<(n-1))
{
cout<<"=";
if(b[x+1]=='-')
{
cout<<s;
s-=a[y+1];
}
else if(b[x+1]=='+')
{
cout<<s;
s+=a[y+1];
}
for(int i=y;i<n;i++)
{
cout<<b[i]<<a[i+1];
}
cout<<endl;
x++,y++;
}
袁瑞琳在2021-08-06 19:44:42追加了内容
还要再定义s
缔造者
for(int i=1;i<n;i++){ cout<<a[i]<<b[i]; } cout<<a[n]; b[n]=' '; cout<<endl; for(int i=1;i<=n;i++){ if(i!=n) cout<<"="; if(b[1]=='+'){ a[1]=a[1]+a[2]; } else a[1]=a[1]-a[2]; for(int j=2;j<=n;j++){ a[j]=a[j+1]; } for(int k=1;k<n;k++){ b[k]=b[k+1]; } for(int l=1;l<=n-i;l++){ cout<<a[l]<<b[l]; } cout<<endl; }
核心
还有俩一维数组输入,你自己搞定
初级天翼
for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=n-1;i++){ cin>>b[i]; cout<<a[i]<<b[i]; } cout<<a[n]<<endl; for(int i=1;i<=n-1;i++){ cout<<'='; if(b[i]=='+'){ cout<<a[i]+a[i+1]; a[i+1]=a[i]+a[i+1]; }else{ cout<<a[i]-a[i+1]; a[i+1]=a[i]-a[i+1]; } for(int j=i+2;j<=n;j++) cout<<b[j-1]<<a[j]; cout<<endl; }
核心