从键盘上输入两个数a,b,和一个算术运算符op(+、-、*或/),通过函数float opr(float a, char op,float b)返回对a、b进行运算的结果。如果运算式不成立,则输出no。
时间: 2025-01-13 22:07:34 浏览: 24
以下是一个用C语言编写的程序,它可以满足你的要求:
#include <stdio.h>
float opr(float a, char op, float b);
int main() {
float a, b, result;
char op;
printf("请输入两个数和一个运算符(+、-、*或/):\n");
scanf("%f %f %c", &a, &b, &op);
result = opr(a, op, b);
if (result != 1.0e+30) { // 使用一个不可能的正常结果作为错误标志
printf("结果:%f\n", result);
} else {
printf("no\n");
}
return 0;
}
float opr(float a, char op, float b) {
switch(op) {
case '+':
return a + b;
case '-':
return a - b;
case '*':
return a * b;
case '/':
if (b != 0)
return a / b;
else
return 1.0e+30; // 使用一个不可能的正常结果作为错误标志
default:
return 1.0e+30; // 无效运算符
}
}
这个程序的工作原理如下:
主函数中,我们首先声明了需要的变量,包括两个浮点数、一个运算符字符和一个结果变量。
我们使用printf函数提示用户输入数据,然后使用scanf函数读取用户输入的两个数和运算符。
我们调用opr函数,将输入的a、op和b传递给它,并将返回的结果存储在result变量中。
如果result不等于1.0e+30(我们设定的错误标志),我们打印结果;否则,我们打印"no"。
opr函数使用switch语句根据运算符执行相应的运算:
- 对于加、减、乘,直接返回结果。
- 对于除法,先检查除数是否为零。如果为零,返回错误标志;否则,返回除法结果。
- 如果运算符不是+、-、*或/,返回错误标志。
错误标志使用了一个不可能的正常结果(1.0e+30),以区分正常结果和错误情况。
这个程序能够满足你的要求,从键盘输入两个数和运算符,并进行相应的运算。如果输入的运算符无效或除数为零,程序会输出"no"。
相关推荐


















