c语言double算乘方,C语言简单计算器,支持加减乘除乘方运算,每步要有注释,求助C语言高手解决,谢谢!#include double add(double a,double b){ double...

7d14a2b81882cfe4494b096a84150b2a.png 优质解答

这个你都看不懂?看程序需要点耐心的

读函数,关键是掌握方法,哪怕是初学,先从main函数下手读,到它调用函数了,再看它调用的函数是干吗用的,上定义哪个函数的地方找;像这么简单的函数应该一看就能明白了;这个计算器的程序只能实现最简单的 两个数字的运算,除了累乘函数;如果有兴趣你不妨自己写下多个数字的运算,包括考虑优先级,再有实力的话 可以试一下有括号的情况

#include

/*加法函数*/

double add(double a,double b)

{

double s;

s=a+b;

return s;

}

/*减法函数*/

double sub(double a,double b)

{

double s;

s=a-b;

return s;

}

/*乘法函数*/

double multi(double a,double b)

{

double s;

s=a*b;

return s;

}

/*除法函数*/

double div(double a,double b)

{

double s;

s=a/b;

return s;

}

/*累乘函数*/

double power(double a,double b)

{

int i=0;

double s=1.0;

if(b==0) // 如果是0个数字相乘,返回答案 1

return s=1;

else //如果相乘数字大于1 对他们累乘

{

for (i=1;i

calculator.cpp 能够实现四则运算乘方运算、赋值及报错的计算器 2018-12-4 -------------------------------------------------- 本程序的输入有三类:指令、赋值语句和计算式 这三类输入均允许在基本元素之间添加任意数目的空格 当出现错误时,本程序会显示Error并给出报错原因 ·指令 指令包含以下三个 exit 退出程序 printvar 输出所有已定义的变量及其值 emptyvar 清除所有变量 所有变量名不能与指令重名 ·赋值语句 基本格式为 变量名=数值 其中“数值”可以是一行计算式 ·计算式 所有非指令和赋值语句都会作为计算式进行计算 本程序可以对输入的一行计算式的值进行计算并输出答案 按照题目要求,若结果为整数,将输出整数;若结果为浮点数,将保留两位小数 计算式中可以包含变量、数字和运算符号 计算式直接以运算符开头会报错“出现连续的运算符”,但如果以+-直接开头会被认作数的正负符号 -------------------------------------------------- 输入的基本元素包括变量、数字和运算符号 ·变量名 变量名必须以字母或下划线开头,由字母、数字或下划线组成,不能与指令重名 ·数字 可以是整数或者小数,当然也包括用/表示的分数 暂不支持除十进制外其他进制的输入 支持.23这样的省略整数部分0的输入 支持32.这样的输入 但是.不会被认为是0而会报错 ·运算符号 包括 加号+ 减号- 乘号* 除号/ 括号( ) 乘方^ 其中除数不能为零 乘方的底数是负数时,指数需要是整数 零的零次幂没有意义 -------------------------------------------------- 请注意 请在输入时务必使用英文输入或选择半角字符! 当语句中出现多个错误时,只会提示最先发现的错误 与c/c++表达式计算不同的地方: 本程序输出时会将整数相除产生的浮点数自动进行类型转换成浮点数,也会将浮点数运算得到的整数自动类型转换成整数,也就是说1/2=0.50,2.0/1.0=2(c++的自动取整真的很蠢) c/c++为了避免与函数冲突,不允许a(b+c),2(3+1)这样的写法,而本程序会默认在括号前进行了乘法运算,即2(3+1)=2*(3+1)=8,a(b+c)=a*(b+c) cmath中的pow函数对于0的0次方会返回1,但是0的0次方是没有意义的,本程序会对0^0报错 鉴于c++支持+-+-+-1=-1,但是出现连+或连-时会报错的混乱情况,本程序允许在数字和变量前加一个+或-号用来变号,即2+-1 3*-x -3++2是支持的,但是多于一个的额外+-号将报错,即3+-+2 +-1是不支持的 --------------------------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值