问题标题: 酷町堂:5566 数学题目(math)

0
0
已解决
卞福睿
卞福睿
中级守护
中级守护

5566   数学题目(math)

经验值:800 时间限制:1000毫秒

经开区2020年信息学竞赛试题

不许抄袭,一旦发现,直接清空经验!

题目描述 Description

给定n个正整数和n-1个运算符号,请输出计算过程和结果。

输入描述 Input Description

共三行。第一行一个正整数n;第二行n个正整数,中间用空格隔开;第三行n-1个符号,中间用空格隔开。

输出描述 Output Description

n行,包括计算过程和结果。

样例输入 Sample Input

4 5 2 3 4 - + +

样例输出 Sample Output

5-2+3+4 =3+3+4 =6+4 =10

数据范围及提示 Data Size & Hint

符号只有加号或减号。中间的运算过程保证不会产生负数。所有的结果均在int范围以内。
2<=n<=100。

 

没思路啊,请问哪位大佬能指导一下?谢谢!


0
已采纳
熊智晖
熊智晖
高级天翼
高级天翼

int a[10002],n;

char b[10002];

cin>>n;

for(int i=1;i<=n;i++){

cin>>a[i];

}

for(int i=1;i<n;i++){

cin>>b[i];

} b[n]='\n';

for(int i=1;i<=n;i++){

cout<<a[i]<<b[i];

}

for(int i=1;i<=n-1;i++){

cout<<"=";

if(b[i]=='+'){

a[i+1]=a[i]+a[i+1];

}

if(b[i]=='-'){

a[i+1]=a[i]-a[i+1];

}

for(int j=i+1;j<=n;j++){

cout<<a[j]<<b[j];

}

}

望采纳

0
朱小川
朱小川
缔造者
缔造者

for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<n;i++){ cin>>b[i]; } 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; }

核心

0
我要回答