注册 登录
编程论坛 C++教室

C语言纠错

a2601689114 发布于 2013-03-16 19:31, 421 次点击
#include <stdio.h>
#include <math.h>
int main()
{double num1,num2,result;
char op;
printf("enter num1&op&num2:");
scanf("%lf%c%lf",&num1,&op,&num2);
if (op=='+')
result=num1+num2;
else if (op=='-')
result=num1-num2;
else if (op=='*')
result=num1*num2;
else (op=='/');
result=num1/num2;
printf("result=%.2lf\n",result);
return 0;
}
我是新手,求大神找错,结果总是1.00
2 回复
#2
yuccn2013-03-16 20:55
int main()
 {double num1,num2,result;
 char op;
 printf("enter num1&op&num2:");
 scanf("%lf%c%lf",&num1,&op,&num2);
 if (op=='+')
 result=num1+num2;
 else if (op=='-')
 result=num1-num2;
 else if (op=='*')
 result=num1*num2;
else (op=='/'); // 这行改成 else if (op=='/')   注意不要除0
 result=num1/num2;
 printf("result=%.2lf\n",result);
 return 0;
 }
#3
kirov_tujin2013-03-16 21:07
懂了,你的if后面不应该加分号。应该是加一个大括号,在大括号里面写。你这样会变成每个选择最后没有实际操作……
改一个给你看看:
原来:
    else if(op=='/');
    result=num1/num2;
应该改成:
    else if(op=='/')
{
    result=num1/num2;
}
应该是这个问题导致的结果。

然后楼上也说了,除法要注意不要除零噢。
1