#include<bits/stdc++.h>
using namespace std;
double afd(double a, double b){
return a+b;//加法
}
double add(double a, double b){
return a-b;//减法
}
double acd(double a, double b){
return a*b;//乘法
}
double aef(double a, double b){
if(b == 0){
throw runtime_error(“除数不能为零”);
}
return a/b;//除法
}
int asd(int a, int b){
return a%b;//取余
}
int main()
{
double a,b,d;
char c;
cin>>a>>c>>b;
switch(c){
case ‘+’:
d=afd(a,b);
break;
case ‘-’:
d=add(a,b);
break;
case '':
d=acd(a,b);
break;
case ‘/’:
d=aef(a,b);
break;
case ‘%’:
d=asd(a,b);
break;
default:
throw runtime_error(“无效操作”);
}
cout<<d;
return 0;
}
格式化一下
乘法真的可以不写乘号 \times 么?
还有就是取模运算为啥是俩int类型的
要么其他有改成int,除法强转一下
改了
模运算写double会报错
改好了
(帖子已被作者删除)
公式:a mod b = a - b * floor(a / b)然后就可给double模了!此外,在C++math.h库中有fmod也可以做到
谢谢