1 条题解

  • 3
    @ 2023-7-8 14:24:33
    #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
    	string a;
    	getline(cin, a);
    	int num = 0;
    	int sum = 0;
    	for (int i = 0; i < a.size(); i++)
    	{
    		if (a[i] >= 48 && a[i] <= 57)
    		{
    			num = num * 10 + a[i]-48;
    		}
    		if (a[i] == '+')//遇到加号的时候进行结算
    		{
    			sum += num;
    			num = 0;
    //while循环可以将符号后面紧跟着的一个数进行读取并加减
    			while (a[i+1] >= 48 && a[i+1] <= 57)
    			{
    				num = num * 10 + a[i+1] - 48;
    				i++;
    			}
    			sum += num;
    			num = 0;
    		}
    		if (a[i] == '-')
    		{
    			sum -= num;
    			num = 0;
    			while (a[i + 1] >= 48 && a[i + 1] <= 57)
    			{
    				num = num * 10 + a[i + 1] - 48;
    				i++;
    			}
    			sum -= num;
    			num = 0;
    		}
    	}
    	cout << sum;
    	return 0;
    }
    
    • 1

    信息

    ID
    124
    时间
    1000ms
    内存
    128MiB
    难度
    1
    标签
    递交数
    50
    已通过
    38
    上传者