C语言简单计算器
利用C语言写一个简单的计算器#include <stdio.h>
int main()
{
float a ,b;
char op;
printf("请输入数字,运算符,数字\n");
scanf("%If%c%If",&a,&op,&b);
switch(op)
{ case '+':
printf("%f + %f = %f\n",a,b,a+b);break;
case '-':
printf("%f - %f = %f\n",a,b,a-b);break;
case '*':
printf("%f * %f = %f\n",a,b,a*b);break;
case '/':
if(b == 0)
{printf("%f / %f = %f\n",a,b,a/b);break;
}
else
printf("分母不能为0");
}
return 0;
}
以上为我的代码,算不出结果,求解,谢谢。 scanf里面是%f不是%If 第一:scanf("%If%c%If",&a,&op,&b);
%If是什么鬼,float是%f,double是%lf,没听所过%If
第二“ if(b == 0)
{printf("%f / %f = %f\n",a,b,a/b);break;
}
else
printf("分母不能为0");
}
除数为0的时候计算,除数不为零的时候报错还行 有几处问题,并不都是错误。
1、scanf中应该是%f%c%f,你定义的是float类型,就一个写%f,double类型的输入用%lf,你的%If是什么鬼?
2、除法那里if和else写反了。
3、是都算出结果还是只有出发算不出结果?一定要注意你的输入格式,数字和运算符中间不能有任何空白字符(包括空格、tab和回车),运算符和第二盒数字之间可以有空白符。 #include <stdio.h>
int main(void)
{
float a, b;
char ch;
printf("请输入式子:");
scanf("%f %c %f", &a, &ch, &b);
switch (ch)
{
case ('+'):printf("结果是:%.2f",a+b);break;
case ('-'):printf("结果是:%.2f",a-b);break;
case ('*'):printf("结果是:%.2f",a*b);break;
case ('/'):
if (b != 0 && a/b) {
printf("结果是:%.2f",a/b);break;
}
else{
printf("很遗憾,除数不能为零!\n");break;
}
default :printf("请输入正确的四则运算式!\n");
}
return 0;
}
页:
[1]