SOS
  • 板块学术版
  • 楼主HeiGi
  • 当前回复6
  • 已保存回复6
  • 发布时间2022/11/13 12:06
  • 上次更新2023/10/27 03:07:58
查看原帖
SOS
574852
HeiGi楼主2022/11/13 12:06

rt。求助站外水题,极限样例没有问题,但是报奇怪的错误,WA 10,AC 0

题目描述

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

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

输出格式 n行,包括计算过程和结果。

样例

输入#1

4 5 2 3 4 - + +

输出#1

5-2+3+4

=3+3+4

=6+4

=10

数据范围

【约定】 符号只有加号或减号。中间运算的结果均在int范围以内。

【数据范围】 2≤n≤100。

WA求调

#include<bits/stdc++.h>
#include<cstdio>
#include<algorithm>
using namespace std;
long long n,ans;
long long num[105];
char sym[105];
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>num[i];
	}
	ans=num[1];
	cout<<ans;
	for(int i=1;i<n;i++)
	{
		cin>>sym[i];
		cout<<sym[i]<<num[i+1];
	}
	cout<<'\n';
	for(int i=2;i<=n;i++)
	{
		cout<<"=";
		if(sym[i-1] == '+')
		{
			ans=ans+num[i];
		}
		else
		{
			ans=ans-num[i];	
		}
		cout<<ans<<sym[i];
		for(int j=i+1;j<n;j++)
		{
			cout<<num[j]<<sym[j];
		}
		if(i!=n)
		{
			cout<<num[n];
		}
		cout<<'\n';
	}
    return 0;  
}
2022/11/13 12:06
加载中...