|
15鱼币
本帖最后由 皇天在上 于 2018-7-26 16:03 编辑
写一个最简单的计算器,支持四则运算。
#include <stdio.h>
#include <math.h>
int main()
{
double a, b , answer;
char c;
printf("请输入式子:");
scanf("%d%c%d", &a, &c, &b);
if ('c' == '+')
{
answer = a +b;
printf("%.2f + %.2f = %.2f", a, b, answer);
}
else if (c == '-')
{
answer = a- b;
printf("%.2f - %.2f = %.2f", a, b, answer);
}
else if ('c' == '*')
{
answer = a * b;
printf("%.2f * %.2f = %.2f", a, b, answer);
}
else if ('c' == '/')
{
if (b = 0)
{
printf("很遗憾,除数不能为零!");
}
else
{
answer = a / b;
printf("%.2f / %.2f = %.2f", a, b, answer);
}
}
else
{
printf("请输入正确的式子");
}
return 0;
}
同学,
if条件判断不对,字符比较应该用c=='+'; c=='-'; c=='*'; c=='/'
还有输入的格式不对,应该用scanf("%lf %c %lf", &num1, &c, &num2);中间加个空格比较好点
改进下你的代码,可以参考下:
- #include<stdio.h>
- #include<math.h>
- int main(int argc, char **argv)
- {
- double num1, num2, result;
- char c;
- printf("input (eg:10-3):");
- scanf("%lf %c %lf", &num1, &c, &num2);
- if (c=='+')
- {
- result = num1+num2;
- printf("%.2f + %.2f = %.2f\n", num1, num2, result);
- }
- else if (c=='-')
- {
- result = num1-num2;
- printf("%.2f - %.2f = %.2f\n", num1, num2, result);
- }
- else if (c=='*')
- {
- result = num1*num2;
- printf("%.2f * %.2f = %.2f\n", num1, num2, result);
- }
- else if (c=='/')
- {
- result = num1/num2;
- printf("%.2f / %.2f = %.2f\n", num1, num2, result);
- }
- else
- {
- printf("input format is worng!\n");
- }
- return 0;
- }
复制代码
测试如:
baiyang@UbYang:~/ubshare/testcode$ gcc calu.c -o exe
baiyang@UbYang:~/ubshare/testcode$ ./exe
input (eg:10-3):10 - 3
10.00 - 3.00 = 7.00
baiyang@UbYang:~/ubshare/testcode$ ./exe
input (eg:10-3):10 + 3
10.00 + 3.00 = 13.00
baiyang@UbYang:~/ubshare/testcode$ ./exe
input (eg:10-3):10 * 3
10.00 * 3.00 = 30.00
baiyang@UbYang:~/ubshare/testcode$ ./exe
input (eg:10-3):10 / 3
10.00 / 3.00 = 3.33
|
最佳答案
查看完整内容
同学,
if条件判断不对,字符比较应该用c=='+'; c=='-'; c=='*'; c=='/'
还有输入的格式不对,应该用scanf("%lf %c %lf", &num1, &c, &num2);中间加个空格比较好点
改进下你的代码,可以参考下:
测试如:
baiyang@UbYang:~/ubshare/testcode$ gcc calu.c -o exe
baiyang@UbYang:~/ubshare/testcode$ ./exe
input (eg:10-3):10 - 3
10.00 - 3.00 = 7.00
baiyang@UbYang:~/ubshare/testcode$ ./exe
input (eg:10-3) ...
|