c语言可循环计算器代码,可编程简易计算器(代码)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
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语言可循环计算器代码,可编程简易计算器(代码)相关推荐
- c语言编程简易计算器代码,可编程简易计算器(代码)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 while(sign[0]!='a'){ //if(input[index]){ for(int i=0;i<4;i++) { if(firstti ...
- 手写计算器java_可编程科学计算器app
可编程科学计算器app是一款功能超级强大的科学计算器,它通过自建程序解决很多工程测算的问题!欢迎有需要的朋友在芒果下载站下载体验! 可编程科学计算器app官方介绍 程序开发科学计算器是一个和Matla ...
- Python语言系统学习21:作品——简易计算器
原文链接:https://blog.csdn.net/weixin_45596188/article/details/103588042 一.程序运行效果 在前面的学习中我们已掌握了对PyQt5和Qt ...
- js装修计算器java代码_JS制作简易计算器的实例代码
做一个简易计算器,效果图片 c表示清空,为一个空字符串 +/-表示该值为正还是负 %表示当前值/100 ←表示退格,往前删除一个值 eval 函数是能够计算出字符串表达式或者语句的结果,把结果求出来. ...
- 计算器排html页面,简易计算器html页面代码
简易计算器 content=no-cache> content=zh-cn> //document.οnkeyup=function Fun(){alert(event.keyCode); ...
- python编程简易计算器_Python编程练习049:简单计算器实现
以下代码用于实现简单计算器实现,包括两个数基本的加减乘除运算: 定义函数 def add(x, y): """相加""" return x ...
- android计算器弹窗,android实现简易计算器
本文实例为大家分享了android实现简易计算器展示的具体代码,供大家参考,具体内容如下 效果图: 一.如图,首先布局计算器主页显示 activity_main.xml xmlns:tools=&qu ...
- pythontkinter做计算器_Python Tkinter实现简易计算器功能
闲暇时间用tkinter写了个简易计算器,可实现简单的加减乘除运算,用了Button和Entry2个控件,下面是代码,只是简单的用了偏函数partial,因为那么多button的大部分参数都是一样的, ...
- html中实现简单计算器功能,js实现简易计算器功能
制作能进行加减乘除的简易计算器,主要是练习动态注册事件.因以练习为主,所以包含了较多基础方法. 效果图 代码 简易计算器 window.onload = function(){ document.on ...
最新文章
- Java 反射 (快速了解反射)
- iOS音频——AudioToolbox
- vins中imu融合_基于非线性优化算法—当视觉SLAM遇到VINS会碰撞出怎样的火花?
- Angular--页面间切换及传值的四种方法
- SAP Data Hub里的Constant Generator
- vue报错 TypeError: merge is not a function
- Java final修饰符的作用,Java中的final修饰符
- win10 GCC 安装
- selenium3 + python - expected_conditions判断元素
- Oracle中listener does not currently know of SID given in connect descriptor
- php 容器对象,Laravel 6.2 中添加了可调用容器对象的方法
- VC 获取Windows所有用户的用户名
- 使用AdapterTypeRender对不同类型的item数据到UI的渲染
- ios查看ipa是否函数特定字符_利用strings 检测iOS ipa包是否调用私有api
- 如何剪辑音频,音频剪辑的简单操作
- 解决windows文件名过长无法删除的问题
- pomodoro源代码
- 人不成熟的5大特征,成功人士的7个习惯,成长型思维
- python (win32com) 批量删除 word (docx, doc) 中所有页眉、页脚 (Word.Application, Word.Basic)
- 「光驱」先锋 DVR-111XL 刻录
热门文章
- 最小步长移动word表格标尺
- (Python+Tensorflow)编程踩坑集锦
- 压栈, 跳转,执行,返回:从汇编看函数调用
- C 和 C++ 宏 详解
- Spring Data JPA 从入门到精通~AliDruidDataSource的配置
- h5 换脸 php,【部分原创】python实现视频内的face swap(换脸)
- [错误记录] --- clickhouse报错Decimal value is too small
- java 常量表达式_JavaSwitch语句:常量表达式是必需的,但它是常量
- 就业技术书文件表格_429页标准指南,教你如何管理工程监理文件资料,丰富图表一看就会...
- 2015电大c语言,2015电大本科C语言程序设计A试题汇总.doc