#t204. 计算(a+b)*c的值

计算(a+b)*c的值

计算(a+b)*c的值

题目背景

Special for beginners, ^_^

题目描述

给定 3 \,3\,个整数 a、b、c\,a、b、c,计算表达式 (a+b)×c \,(a+b) \times c\,的值。

输入格式

输入仅一行,包括三个整数 a、b、c\,a、b、c, 数与数之间以一个空格分开。(−10,000<a,b,c<10,000)(-10,000\lt a,b,c \lt 10,000)

输出格式

输出一行,即表达式的值。

样例输入

2 3 5

样例输出

25

数据范围

1s, 1024KiB for each test case.

提示

一、C++ 的运算顺序和数学课本一样

  1. 先算括号里的;
  2. 再算乘 *、除 /、取余 %;
  3. 最后算加 +、减 -;
  4. 同一级的,从左往右算。
printf("%d\n", 2 + 3 * 4);     // 14,先算 3*4
printf("%d\n", (2 + 3) * 4);   // 20,括号优先
printf("%d\n", 20 / 2 / 5);    // 2,同级从左往右:(20/2)/5

二、括号只改变顺序,不改变运算本身

括号可以嵌套,最里层先算:((2+3)*(4-1)) → 先算 2+3 和 4-1,再相乘。

即使优先级本来就对,也建议加括号——写 (a+b)*c 比 a+b*c 一眼能看懂,少出错。

三、写表达式时的四个坑

  • 漏乘号:数学里写 2x,C++ 必须写 2 * x,2x 是语法错误。
  • 中文括号:(2+3)*4 里的圆括号如果是中文输入法打的,编译直接报错。
  • 括号不配对:(a+b*c 少一个右括号。
  • 整数除法:1/2 是 0 不是 0.5,想算小数要写 1.0/2。

四、自检

算完后用计算器按一遍题面的式子,和程序输出对一下。如果差得离谱,先怀疑括号位置,再怀疑整数除法。

  • 数学式子里有括号,C++ 里照抄同样的圆括号即可。
  • 三个数一次读入,scanf 里写三个 %d,变量前都别忘了 &。

自查:样例 2 3 5 → 25 可以确认运算顺序;如果算出 17,就是先乘后加了。