7-2 两个数的简单计算器 分数 15 作者 沈睿 单位 浙江大学
本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。
输入格式:
输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格分隔。操作数的数据类型为整型,且保证除法和求余的分母非零。
输出格式:
当运算符为+
、-
、*
、/
、%
时,在一行输出相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出ERROR
。
输入样例1:
-7 / 2
输出样例1:
-3
输入样例2:
3 & 6
输出样例2:
ERROR
本题用到了:
C语言中的switch
语句是一种选择结构,它允许程序根据某个表达式的值选择执行不同的代码块。switch
语句通常与case
标签一起使用,每个case
标签对应一个特定的值,当表达式的值与某个case
标签匹配时,就执行该case
下的代码块。
switch
语句的基本语法如下:
c
复制代码
switch (expression) {
case constant1:
// 代码块1
break;
case constant2:
// 代码块2
break;
// 可以有更多的case...
default:
// 默认代码块(可选)
}
expression
:这是一个将被评估的表达式,其值将与case
标签进行比较。case constant
:case
后面跟着的是一个常量表达式,如果switch
表达式的值与某个case
常量的值匹配,就执行该case
下的代码块。break
:break
语句用于退出switch
语句,防止执行后续的case
代码块。如果没有break
,程序将继续执行下一个case
的代码块,这通常不是期望的行为。default
:default
标签是可选的,它指定了当没有任何case
常量与switch
表达式的值匹配时应该执行的代码块。
switch
语句的执行流程如下:
- 计算
switch
表达式的值。 - 将这个值与每个
case
标签的值进行比较。 - 如果找到匹配的
case
,就执行该case
下的代码块。 - 如果遇到
break
语句,就退出switch
语句。 - 如果没有找到匹配的
case
,并且存在default
标签,就执行default
下的代码块。 - 如果没有找到匹配的
case
,并且不存在default
标签,switch
语句就结束了,不执行任何代码块。
本题代码如下:
#include<stdio.h>
int main ()
{
int a,b;
char s;
scanf("%d %c %d",&a,&s,&b);
switch(s)
{
case'+':
printf("%d",a+b);
break;
case'-':
printf("%d",a-b);
break;
case'*':
printf("%d",a*b);
break;
case'/':
printf("%d",a/b);
break;
case'%':
printf("%d",a%b);
break;
default:
printf("ERROR");
}
return 0;
}