900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 编程设计一个简单的计算器程序 要求根据用户从键盘输入的表达式 操作数

编程设计一个简单的计算器程序 要求根据用户从键盘输入的表达式 操作数

时间:2022-08-03 09:33:03

相关推荐

编程设计一个简单的计算器程序 要求根据用户从键盘输入的表达式 操作数

编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式,操作数

首先,先写出各类计算的函数,参数从主函数中提取,返回计算后所得的值

因计算器不只要求能计算加减乘除,所以所有函数类型都为double类型

便于计算

double add(double a, double b) {return a + b;}//加法函数double subtract(double a, double b) {return a - b;}//减法函数double multiply(double a, double b) {return a * b;}//乘法函数double divide(double a, double b) {return a / b;}//除法函数double power(double a, double b) {return pow(a, b);}//指数函数,传入的参数分别是底数和指数double rooting(double a,double b) {return pow(a, 1 / b);}//开根号,传入的参数为需要开根的数和根号指数

编写主函数,要求从中设置变量,并且能够读入数字和字符

int main() {double x, y;//设置用户输入的变量char s[2];//设置字符,控制函数调用scanf("%lf", &x);//读入基数for (; 1;) {scanf("%s%lf", &s[0], &y);//读入字符和被计算的数if (s[0] == '=')break;//当读入字符为'='时退出循环else if (s[0] == '+')x = add(x, y);else if (s[0] == '-')x = subtract(x, y);else if (s[0] == '*')x = multiply(x, y);else if (s[0] == '/')x = divide(x, y);else if (s[0] == 'p')x = power(x, y);else if (s[0] == 'r')x = rooting(x,y);elseprintf("输入有误");//读入字符非以上情况时,提示输入错误}printf("=%f", x);//打印最终结果return 0;

(做题过程中,char s时,scanf函数一直不能读入单个字符,所以定义了一个字符串,char s[2],用首字母作为调用函数的依据,如果哪个大佬知道原因,请指教一下,感激不尽)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。