求讲解代码
#include <stdio.h>#include <stdbool.h>
int main()
{
float op1, op2;
char ch;
float result;
bool invalid = false;
printf("请输入式子:");
scanf("%f %c %f", &op1, &ch, &op2);
switch (ch)
{
case '-': op2 = -op2; // no break
case '+': result = op1 + op2; break;
case '*': result = op1 * op2; break;
case '/':
if (op2 != 0)
{
result = op1 / op2;
break;
}
else
{
invalid = true;
break;
}
}
if (invalid)
{
printf("除数不能为零!\n");
}
else
{
printf("结果是:%.2f\n", result);
}
return 0;
} 这是一个简单的计算器程序,用户输入两个操作数和一个运算符,程序根据运算符进行相应的运算并输出结果。
首先,程序声明了一些变量。op1和op2是两个操作数,ch是运算符,result是运算结果,invalid是一个标志,用于判断除数是否为零。
然后,程序使用printf函数提示用户输入式子,并使用scanf函数接收用户输入的三个值。这里需要注意,scanf函数中的格式化字符串"%f %c %f"表示依次读取两个浮点数和一个字符。
接下来,程序使用switch语句根据运算符进行不同的操作。如果运算符是'-',则将op2取相反数;如果运算符是'+',则将op1与op2相加赋值给result;如果运算符是'*',则将op1与op2相乘赋值给result;如果运算符是'/',则先判断op2是否为零,如果不为零,则将op1除以op2赋值给result;如果op2为零,则将invalid标志置为true。
最后,程序根据invalid标志判断是否输出除数不能为零的提示信息。如果invalid为true,则输出"除数不能为零!";否则,输出计算结果。
这个程序非常简单直观,输入两个操作数和一个运算符即可得到结果。但需要注意的是,由于涉及到除法运算,必须注意除数不能为零,否则会出现错误。
希望能帮到你!如果有其他问题,请随时提问。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]