【2019年乐山师范学院程序设计大赛 --- E. Bit++】
题目来源:点击进入【2019年乐山师范学院程序设计大赛 — E. Bit++】
Description
在 C 语言中有一些奇特的运算符:
++ 运算符让变量的值增加 1。
– 运算符让变量的值减少 1。
这里有一些代码,针对一个变量 X 使用上述操作符,每行语句中只包含 “+”、"-" 和 “X” 三种字符。
我们把变量 X 的值设为 0,需要通过执行这些代码,计算出变量 X 最终的值。
Input
第一行包含一个正整数 n (1 ≤ n ≤ 150),表示这些代码语句的行数。
接下来有 n 行,每行语句表示一次运算(++ 或 --),每行语句除了包含运算符之外,还包含被作用的变量 X,没有空语句,运算符和变量之间的顺序任意。
Output
输出一个整数,表示变量 X 最终的值。
Sample Input
3
X++
–X
++X
Sample Output
1
Note
本题中的自加和自减运算中,运算符和变量之间的顺序不影响结果。
实际编程过程中,当变量 X 进行自加或自减运算并赋值给另一个变量 Y 时,运算符与变量之间的顺序不同会导致变量 Y 的值有所不同,具体地:
情景一 :Y = X++; 等价于 Y = X; X = X + 1;
情景二 :Y = ++X; 等价于 X = X + 1; Y = X;
AC代码:
#include <bits/stdc++.h>
using namespace std;
#define SIS std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
#define endl '\n'
int main()
{
SIS;
int n,x=0;
string s;
cin >> n;
while(n--)
{
cin >> s;
if(s[0]=='+' || s[2]=='+') x++;
else x--;
}
cout << x << endl;
return 0;
}