该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

while(sign[0]!='a'){

//if(input[index]){

for(int i=0;i<4;i++)

{

if(firsttime ==1)i=3;

//提取第i+1个数字

dexto=1;

char num_str[INPUT_LEN]={'+'};

while(input[index])

{

if(isdigit(input[index]))

num_str[dexto++]=input[index++];

else

if((input[index]=='+'||input[index]=='-')&&dexto==1)

num_str[dexto-1]=input[index++];

else if(dexto>1)break;

else index++;

}

if(input[index]=='.')

if(isdigit(input[index+1]))

{

num_str[dexto++]=input[index++];

while(input[index])

if(isdigit(input[index]))num_str[dexto++]=input[index++];

else break;

}

num[i]=atof(num_str);

if(input[index]=='\0')

{

for(;i<4;i++)sign[i]='a';

break;

}

//提取第i+1个符号

while(input[index])

{

switch(input[index])

{

case'+':case'-':case'*':case'/':case'%':case'^':

sign[i]=input[index++];

goto outofwhile;

break;

default:

index++;

continue;

}

}

outofwhile:;

}//提取数字符号结束

firsttime =1;

//}//判断结束结束

//将数字进行计算

if(sign[0]=='+'||sign[0]=='-')

{//如果s0是加减则:

if(sign[1]=='+'||sign[1]=='-'||sign[1]=='a')

{

//如果s0,s1都一级

num[0]=singlecalculate(num[0],sign[0],num[1]);

num[1]=num[2];

num[2]=num[3];

sign[0]=sign[1];

sign[1]=sign[2];

sign[2]=sign[3];

}

else

{

if(sign[1]=='^')

{

//如果s0一级s1是^则

num[1]=singlecalculate(num[1],sign[1],num[2]);

num[2]=num[3];

sign[1]=sign[2];

sign[2]=sign[3];

}else if(sign[2]=='^')

{

//如果s2是^且s1为二级

num[2]=singlecalculate(num[2],sign[2],num[3]);

sign[2]=sign[3];

}else

{

//如果s2为二级或1级则

num[1]=singlecalculate(num[1],sign[1],num[2]);

num[2]=num[3];

sign[1]=sign[2];

sign[2]=sign[3];

}

}

}else

{

//如果s0不是加法则

if(sign[1]=='^'&&sign[0]!='^')

{

//如果s1是^则

num[1]=singlecalculate(num[1],sign[1],num[2]);

num[2]=num[3];

sign[1]=sign[2];

sign[2]=sign[3];

}else

{

//如果s0是二级或以上s1是二级或以下则:

num[0]=singlecalculate(num[0],sign[0],num[1]);

num[1]=num[2];

num[2]=num[3];

sign[0]=sign[1];

sign[1]=sign[2];

sign[2]=sign[3];

}

}

//num[0]=singlecalculate(num[0],sign[0],num[1]);

/*printf("1:%lf\n",num[0]);

printf("2:%lf\n",num[1]);

printf("3:%lf\n",num[2]);

printf("4:%lf\n",num[3]);

printf("s1:%c\n",sign[0]);

printf("s2:%c\n",sign[1]);

printf("s3:%c\n",sign[2]);

printf("s4:%c\n",sign[3]);*/

}//大循环结束

return num[0];

}

double singlecalculate(double num1,char sign,double num2)

{

switch(sign)

{

case'+':

num1+=num2;

break;

case'-':

num1-=num2;

break;

case'*':

num1*=num2;

break;

case'/':

num2==0?printf("式子包含有除数为0,请检查\a"):num1/=num2;

break;

case'%':

num2==0?printf("式子包含有除数为0,请检查\a"):num1=(int)num1%(int)num2;

break;

case'^':

num1=pow(num1,num2);

break;

}

return num1;

}

程序我自己测试,没发现什么问�

c语言可循环计算器代码,可编程简易计算器(代码)相关推荐

  1. c语言编程简易计算器代码,可编程简易计算器(代码)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 while(sign[0]!='a'){ //if(input[index]){ for(int i=0;i<4;i++) { if(firstti ...

  2. 手写计算器java_可编程科学计算器app

    可编程科学计算器app是一款功能超级强大的科学计算器,它通过自建程序解决很多工程测算的问题!欢迎有需要的朋友在芒果下载站下载体验! 可编程科学计算器app官方介绍 程序开发科学计算器是一个和Matla ...

  3. Python语言系统学习21:作品——简易计算器

    原文链接:https://blog.csdn.net/weixin_45596188/article/details/103588042 一.程序运行效果 在前面的学习中我们已掌握了对PyQt5和Qt ...

  4. js装修计算器java代码_JS制作简易计算器的实例代码

    做一个简易计算器,效果图片 c表示清空,为一个空字符串 +/-表示该值为正还是负 %表示当前值/100 ←表示退格,往前删除一个值 eval 函数是能够计算出字符串表达式或者语句的结果,把结果求出来. ...

  5. 计算器排html页面,简易计算器html页面代码

    简易计算器 content=no-cache> content=zh-cn> //document.οnkeyup=function Fun(){alert(event.keyCode); ...

  6. python编程简易计算器_Python编程练习049:简单计算器实现

    以下代码用于实现简单计算器实现,包括两个数基本的加减乘除运算: 定义函数 def add(x, y): """相加""" return x ...

  7. android计算器弹窗,android实现简易计算器

    本文实例为大家分享了android实现简易计算器展示的具体代码,供大家参考,具体内容如下 效果图: 一.如图,首先布局计算器主页显示 activity_main.xml xmlns:tools=&qu ...

  8. pythontkinter做计算器_Python Tkinter实现简易计算器功能

    闲暇时间用tkinter写了个简易计算器,可实现简单的加减乘除运算,用了Button和Entry2个控件,下面是代码,只是简单的用了偏函数partial,因为那么多button的大部分参数都是一样的, ...

  9. html中实现简单计算器功能,js实现简易计算器功能

    制作能进行加减乘除的简易计算器,主要是练习动态注册事件.因以练习为主,所以包含了较多基础方法. 效果图 代码 简易计算器 window.onload = function(){ document.on ...

最新文章

  1. Java 反射 (快速了解反射)
  2. iOS音频——AudioToolbox
  3. vins中imu融合_基于非线性优化算法—当视觉SLAM遇到VINS会碰撞出怎样的火花?
  4. Angular--页面间切换及传值的四种方法
  5. SAP Data Hub里的Constant Generator
  6. vue报错 TypeError: merge is not a function
  7. Java final修饰符的作用,Java中的final修饰符
  8. win10 GCC 安装
  9. selenium3 + python - expected_conditions判断元素
  10. Oracle中listener does not currently know of SID given in connect descriptor
  11. php 容器对象,Laravel 6.2 中添加了可调用容器对象的方法
  12. VC 获取Windows所有用户的用户名
  13. 使用AdapterTypeRender对不同类型的item数据到UI的渲染
  14. ios查看ipa是否函数特定字符_利用strings 检测iOS ipa包是否调用私有api
  15. 如何剪辑音频,音频剪辑的简单操作
  16. 解决windows文件名过长无法删除的问题
  17. pomodoro源代码
  18. 人不成熟的5大特征,成功人士的7个习惯,成长型思维
  19. python (win32com) 批量删除 word (docx, doc) 中所有页眉、页脚 (Word.Application, Word.Basic)
  20. 「光驱」先锋 DVR-111XL 刻录

热门文章

  1. 最小步长移动word表格标尺
  2. (Python+Tensorflow)编程踩坑集锦
  3. 压栈, 跳转,执行,返回:从汇编看函数调用
  4. C 和 C++ 宏 详解
  5. Spring Data JPA 从入门到精通~AliDruidDataSource的配置
  6. h5 换脸 php,【部分原创】python实现视频内的face swap(换脸)
  7. [错误记录] --- clickhouse报错Decimal value is too small
  8. java 常量表达式_JavaSwitch语句:常量表达式是必需的,但它是常量
  9. 就业技术书文件表格_429页标准指南,教你如何管理工程监理文件资料,丰富图表一看就会...
  10. 2015电大c语言,2015电大本科C语言程序设计A试题汇总.doc