问题 E: Bit++
时间限制: 1 Sec 内存限制: 128 MB
题目链接:http://acm.lsnu.edu.cn/oj/problem.php?id=2492
题目描述
在 C 语言中有一些奇特的运算符:
- ++ 运算符让变量的值增加 1。
- -- 运算符让变量的值减少 1。
这里有一些代码,针对一个变量 X 使用上述操作符,每行语句中只包含 "+"、"-" 和 "X" 三种字符。
我们把变量 X 的值设为 0,需要通过执行这些代码,计算出变量 X 最终的值。
输入
第一行包含一个正整数 n (1 ≤ n ≤ 150),表示这些代码语句的行数。
接下来有 n 行,每行语句表示一次运算(++ 或 --),每行语句除了包含运算符之外,还包含被作用的变量 X,没有空语句,运算符和变量之间的顺序任意。
输出
输出一个整数,表示变量 X 最终的值。
样例:
样例输入
3
X++
--X
++X
样例输出
1
提示
本题中的自加和自减运算中,运算符和变量之间的顺序不影响结果。
实际编程过程中,当变量 X 进行自加或自减运算并赋值给另一个变量 Y 时,运算符与变量之间的顺序不同会导致变量 Y 的值有所不同,具体地:
- 情景一 :Y = X++; 等价于 Y = X; X = X + 1;
- 情景二 :Y = ++X; 等价于 X = X + 1; Y = X;
这个题没什么说的,直接上代码吧。
AC代码:
#include<stdio.h>
char s[6];
int main()
{
int t,x=0;
scanf("%d",&t);
while(t--)
{
scanf("%s",s);
if(s[1]=='+')
x++;
if(s[1]=='-')
x--;
}
printf("%d\n",x);
return 0;
}