简单的二位四则运算
代码
#include<stdio.h>
float fo(float a, float b, char str){
float result=0;
if(str == '+' ){
result = a + b;
}
else if(str == '-'){
result = a - b;
}
else if(str == '*'){
result = a * b;
}
else if(str == '/'){
result= a / b;
}
return result;
}
int main(){
float a;
float b;
char str;
scanf("%f%c%f", &a, &str, &b);
printf("%.1f", fo(a, b, str));
return 0;
}
遇到的问题
关于double 与 float: 对编程人员来说,double 和 float 的区别是 double 精度高,有效数字 16 位,float 精度 7 位。但 double 消耗内存是 float 的两倍,double 的运算速度比 float 慢得多,C 语言中数学函数名称 double 和 float 不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)。
转载于菜鸟教程
关于char与string: c++里用string,如果这么定义和输出会报错 正确的定义方式与输出方式 输出时要用printf("%s",XXX.c_str())的样式输出。 c语言判断字符是否相等: if(str == " + ")错误 f(str == ’ + ')正确 多条if: 错误写法:
if(str== '+'){
result=a + b;
}
if(str =='-'){
result=a - b;
}
if(str == '*'){
result=a * b;
}
if(str == '/'){
result=a / b;
}
正确写法:
if(str == '+' ){
result = a + b;
}
else if(str == '- '){
result = a - b;
}
else if(str == '*' ){
result = a * b;
}
else if(str == '/' ){
result = a / b;
}
浮点数小数点精确: 精确到小数点后一位printf("%.1f",X);(四舍五入)
|