代码如下:
#include
int main()
{
float fFloat1=.0,fFloat2=.0;
char cOP=NULL;
printf("请输入要进行四则运算表达式:\n");
scanf("%f%c%f",&fFloat1,&cOP,&fFloat2);
switch(cOP)
{
case '+':
printf("%f+%f=%f\n",fFloat1,fFloat2,fFloat1+fFloat2);
break;
case '-':
printf("%f-%f=%f\n",fFloat1,fFloat2,fFloat1-fFloat2);
break;
case '*':
printf("%f*%f=%f\n",fFloat1,fFloat2,fFloat1*fFloat2);
break;
case '/':
if(0!=fFloat2)
{
printf("%f/%f=%f\n",fFloat1,fFloat2,fFloat1/fFloat2);
}
else
{
printf("error!\n");
}
break;
default:
printf("error!\n");
break;
}
return 0;
}
扩展资料
switch语句和if语句的区别:
1、大于等于(>=)、小于等于(<=)的判断用if语句,而等于(=)的判断用switch语句。
2、switch语句中的case类似于if…else…else if…else,但是离散值的判断。(离散值的判断自认为是等于情况的判断)。
3、switch一般都可以及用if重写,但是if不一定能用switch重写。
4、不要忘了break.C#中break不写是不行的,除了合并case的情况。
5、case 中的值必须是常量,不能是变量、表达式。
参考资料来源:
百度百科——Switch函数
case 后面没有大括号,默认执行第一句代码
break、default也要加分号
#include
main()
{
float a,b,d;
unsigned char c;
printf("\n Input dat a:");
scanf("%f",&a);
printf("\n Input dat c:");
scanf("%c",&c);
printf("\n Input dat b:");
scanf("%f",&b);
switch(c)
{
case '+': d=a+b;printf("%fa%c%fb=%f\n");break;
case '-': d=a-b;printf("%fa%c%fb=%f\n");break;
case '*': d=a*b;printf("%fa%c%fb=%f\n");break;
case '/': d=a/b;printf("%fa%c%fb=%f\n");break;
default:printf("error");break;
}
getch();
}
break后面要加分号
最后一个case后面也得有break