全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/*Desgined by doBell-ConG*/*Function:simply add, subtract, multiply and divide*/#include char Array50;/字符数组double Num20;/双精度数组char Symbol10;/符号数组int arrayCount;/字符数组计数器int numCount;/双精度数组计数器int symbolCount;/符号数组计数器int loopFlag;/循环标记计数器void transform();/转换函数,用于把字符串分离成两个数组,一个是待计算数的双精度数组,另一个是运算符号的数组。double Calculate();/计算函数,使用两个数组计算出最终结果。void Format();/初始化全局变量。void main() Format(); while(gets(Array)&Array!=EOF)/该循环用以重复使用程序。 transform(); printf(The result = %gnn,Calculate(); Format(); void Format() memset(Array,0,sizeof(Array);/清空全局数组 memset(Num,0,sizeof(Num); memset(Symbol,0,sizeof(Symbol); arrayCount = 0; numCount = 0; symbolCount = 0; loopFlag = 0; system(PAUSE); /系统暂停语句。 system(CLS); /系统清屏语句。 printf(Please input a string ending of = to be calculated:n);void transform() int pointFlag = 0;/精度标识,0表示小数点前的累加计算,1表示小数点后的累加计算 int pointBit = 1; /小数点位数,1表示小数点后1位,2表示小数点后两位,依次类推。 double tempPointValue = 0;/小数点后累加临时存放值 double tempNum = 0;/数值转换临时存放值 while(ArrayarrayCount != 0) /扫描字符数组,进行相应处理。 if(ArrayarrayCount=+|ArrayarrayCount=-|ArrayarrayCount=* |ArrayarrayCount= /|ArrayarrayCount= =) NumnumCount = tempNum; /如果遇到运算符,前面的数转换完成输入数组。 tempNum = 0; pointBit = 1; pointFlag = 0; numCount +; SymbolsymbolCount = ArrayarrayCount; arrayCount+; symbolCount+; continue; else if (ArrayarrayCount = .)/如果遇到小数点,转换数字累加方式。 if(pointFlag = 0) pointFlag = 1; else pointFlag =0; arrayCount+; continue; else /如果其他,即为数字,分为以下两种情况: if(pointFlag = 0) /1、小数点前的累加 tempNum = tempNum*10 + (double)(ArrayarrayCount-48); arrayCount+; else if(pointFlag = 1) /2、小数点后的累加 tempPointValue = (double)(ArrayarrayCount-48); for( loopFlag = 0; loopFlagpointBit; loopFlag+) tempPointValue = tempPointValue *0.1; tempNum = tempNum + tempPointValue; arrayCount+; pointBit+; continue; double Calculate() symbolCount = 0; while(SymbolsymbolCount!=0) /该while循环在前,扫描符号数组用以计算乘除。 if(SymbolsymbolCount=*) NumsymbolCount=NumsymbolCount*NumsymbolCount+1; for(loopFlag = symbolCount; loopFlag(numCount-1); loopFlag+) NumloopFlag+1 = NumloopFlag+2; for(loopFlag = symbolCount; SymbolloopFlag!=0; loopFlag+) SymbolloopFlag = SymbolloopFlag+1; symbolCount-; numCount-; else if(SymbolsymbolCount=/) NumsymbolCount=NumsymbolCount/NumsymbolCount+1; for(loopFlag = symbolCount; loopFlag(numCount-1); loopFlag+) NumloopFlag+1 = NumloopFlag+2; for(loopFlag = symbolCount; SymbolloopFlag!=0; loopFlag+) SymbolloopFlag = SymbolloopFlag+1; symbolCount-; numCount-; symbolCount+; continue; symbolCount = 0; while(SymbolsymbolCount!=0) /该while循环用以计算加减。 if(SymbolsymbolCo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绿化维护保养合同范本
- 礼服租用团购合同范本
- 货物保修服务合同范本
- 灯展制作维护合同范本
- 行业许可补充合同范本
- 演出服装生产合同范本
- 网店外包运营合同范本
- 物业收费服务合同范本
- 达人经济代理合同范本
- 酒代理商合同协议范本
- 教科版六年级科学上册《生物多样性的意义》课件
- 湖北民族大学辅导员考试题库
- ZZ029-养老照护赛项赛题(10套)-2023年全国职业院校技能大赛拟设赛项赛题(10套)
- 2023年中考语文备考之说明文阅读训练:《盲盒背后的“上瘾密码”》
- 肿瘤科专业组药物临床试验管理制度及操作规程GCP
- 老年人照料设施建筑设计标准
- GB/T 5023.5-2008额定电压450/750 V及以下聚氯乙烯绝缘电缆第5部分:软电缆(软线)
- GB/T 41261-2022过程工业报警系统管理
- 2022年新整理《研究生中国特色社会主义理论与实践研究》考题附答案
- 农产品质量与安全知识讲座模板
- GA/T 1068-2015刑事案件命名规则
评论
0/150
提交评论