【小学】再做一年级算术题
小明上小学一年级了,老师已经教会了他们进行整数的 +、-、*、/ 、% 计算,下面老师开始出题,给出一个简单的算术表达式,请小明给出计算结果,请你用 switch 语句编写一个程序,帮小明算出结果。
输入:
操作数1 op 操作数2
输出:
计算结果
tips:
关键是在表达式输入过程中如何取出运算符 ?
样例:
序号 | 测试输入 | 期待的输出 | 额外进程 |
---|---|---|---|
1 | 10+20↵ | 30↵ | 0 |
2 | 30-20↵ | 10↵ | 0 |
3 | 8*11↵ | 88↵ | 0 |
4 | 13/5↵ | 2↵ | 0 |
思路
(本题不设置流程图)
观察输入,很容易得到统一格式%d%c%d
也即一个整数一个运算符一个整数。
显然我们只需要先分别读取两个整数和运算符,再根据运算符类型分类输出即可。
这里需要注意的是scanf(“%c”,x)读取的是单个字符而不是字符串,不要错用%s
代码
#include<stdio.h>
int main()
{
int a,b;
char op;
scanf("%d%c%d",&a,&op,&b);
switch(op)
{
case '+':
{
printf("%d\n",a+b);
break;
}
case '-':
{
printf("%d\n",a-b);
break;
}
case '*':
{
printf("%d\n",a*b);
break;
}
case '/':
{
printf("%d\n",a/b);
break;
}
case '%':
{
printf("%d\n",a%b);
break;
}
}
return 0;
}