本文共 891 字,大约阅读时间需要 2 分钟。
题目来源:
Description
在 C 语言中有一些奇特的运算符:
++ 运算符让变量的值增加 1。 – 运算符让变量的值减少 1。 这里有一些代码,针对一个变量 X 使用上述操作符,每行语句中只包含 “+”、"-" 和 “X” 三种字符。 我们把变量 X 的值设为 0,需要通过执行这些代码,计算出变量 X 最终的值。Input
第一行包含一个正整数 n (1 ≤ n ≤ 150),表示这些代码语句的行数。
接下来有 n 行,每行语句表示一次运算(++ 或 --),每行语句除了包含运算符之外,还包含被作用的变量 X,没有空语句,运算符和变量之间的顺序任意。Output
输出一个整数,表示变量 X 最终的值。
Sample Input
3
X++ –X ++XSample Output
1
Note
本题中的自加和自减运算中,运算符和变量之间的顺序不影响结果。
实际编程过程中,当变量 X 进行自加或自减运算并赋值给另一个变量 Y 时,运算符与变量之间的顺序不同会导致变量 Y 的值有所不同,具体地: 情景一 :Y = X++; 等价于 Y = X; X = X + 1; 情景二 :Y = ++X; 等价于 X = X + 1; Y = X;AC代码:
#includeusing 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;}
转载地址:http://jsyof.baihongyu.com/