c 编写计算器器当中的c

当前位置:
>>>电子计算器中的0N/C是______键,CE是______键.-四年级数学-魔方格
电子计算器中的0N/C是______键,CE是______键.
题型:解答题难度:中档来源:不详
电子计算器中NO/C,是开机及清屏键;CE是清除键.故答案为:开机及清屏,清除.
马上分享给同学
据魔方格专家权威分析,试题“电子计算器中的0N/C是______键,CE是______键.-四年级数学-魔方格”主要考查你对&&计算机的知识及用计算机探索规律&&等考点的理解。关于这些考点的“档案”如下:
现在没空?点击收藏,以后再看。
因为篇幅有限,只列出部分考点,详细请访问。
计算机的知识及用计算机探索规律
学习目标:通过计算,发现隐含的规律,并用规律解决问题。用计算器计算下面各题:1÷11=0.0909… 2÷11=0.1818… 3÷11= =0.2727…4÷11= 0.3636… 5÷11= 0.4545… 不计算,用发现的规律直接写出下面几题的商。 6÷11= 0.5454… 7÷11=0.6363…& 8÷11= 0.7272… 9÷11= 0.8181… 规律:商都是循环小数,循环节都是9的倍数& 用计算器计算前4题,试着写出后2题的商。 3×7= 213.3×6.7= 22.113.33×66.7=222.111 3.333×666.7= 3..7= 3.3.7= 111规律:整数位和小数位的数位都在增加
发现相似题
与“电子计算器中的0N/C是______键,CE是______键.-四年级数学-魔方格”考查相似的试题有:
590496977111937136311186615568312269C语言程序设计之简单计算器_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C语言程序设计之简单计算器
上传于||暂无简介
阅读已结束,如果下载本文需要使用3下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩19页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢计算器键盘上的C和CE有什么区别? - 爱问知识人
(window.slotbydup=window.slotbydup || []).push({
id: '2491531',
container: s,
size: '150,90',
display: 'inlay-fix'
计算器键盘上的C和CE有什么区别?
计算器上的C表示清零,作用是将计算器恢复到开机状态。
而CE仅表示当前数字清除,作用是将当前输入的数字清除回到0状态。
例如:依次按下“6”、“/”、“3”,然后再按下“C”,再依次按下“2”、“=”,显示为2。而依次按下“6”、“/”、“3”,再按下“CE”,再依次按下“2”、“=”,显示为3,即执行了6/2的操作。
大家还关注共有 1553 人关注过本帖
标题:计算器中的字符串问题
来 自:安徽阜阳
等 级:论坛游民
帖 子:71
专家分:89
结帖率:100%
&&已结贴√
&&问题点数:100&&回复次数:8&&&
计算器中的字符串问题
刚学过栈,想制作一个计算器出来,但在数字和字符分别入栈中的数入栈上出了问题,不知如何将字符串中的数字拿出转化成数放入栈中,想了几天没有头绪,特来请教。。。。。。。。。。。。。
例如输入100+75-60如何将100 75 60分别拿出入栈
几天了没人回答,分数就提高点吧
搜索更多相关主题的帖子:
等 级:论坛游民
帖 子:55
专家分:62
#include &stdio.h&
float a,b,c,d;
&&scanf(&%f&,&a);
&&for(i=0;i&=5;i++)
&&{&&&scanf(&%c&,&P);
&&& switch(P)
&&&{case '+':&&scanf(&%f&,&b);a=a+b;
&&& case '*':&&scanf(&%f&,&b);a=a*b;
&&& case '/':&&scanf(&%f&,&b);a=a/b;
&&& case '-':&&scanf(&%f&,&b);a=a-b;
&&& default:&&printf(&%f&,a);
等 级:论坛游民
帖 子:55
专家分:62
附件: 您没有浏览附件的权限,请
等 级:蝙蝠侠
帖 子:251
专家分:975
直接mfc还有界面
[ 本帖最后由 jcslt 于
18:57 编辑 ]
等 级:蝙蝠侠
帖 子:251
专家分:975
直接scanf(&%d%c%d&,&a,&b,&c),然后case&&b不就行了
等 级:论坛游民
帖 子:55
专家分:62
回复 5楼 jcslt
那样写不能无限计算了~~分离了~~计算几个数都可以得
等 级:侠之大者
帖 子:96
专家分:419
&&得分:90&
程序代码:#include&stdio.h&
#include&string.h&
#include&math.h&
#include&conio.h&
#define SIZE1 20&&&//栈的大小
#define SIZE2 100&&//表达式的最大长度
int check(char ch[]);&&//检查表达式是否合乎规则
double convert(int *place);&&&//将表达式中的表示数字的字符串转化为双精度数
int OPSWR(char c);&&//将运算符c存入运算符栈
int OVSWR(double s);&&//将数s存入数字栈
int OPSRE(char *c);&&&//将处于运算栈顶的运算符取出
int OVSRE(double *s);&&&//同上
int OPSDEL();&&&&&&&&&//将运算符栈栈顶的运算符清除
int OVSDEL();&&&&&&&&&//同上
int ERRORINF(int flag);&&&//检查错误信息
int CALCULATE();&&&&&& //主要功能的实现部分,运算原理的实现部分
int COMP();&&&&&& //数值计算
// 运算符栈,top表示栈顶的位置
struct OPSSTA {
&&& char stack[SIZE1];
struct OVSSTA {
&&& double stack[SIZE1];
double RESULT;
char str[SIZE2],str1[SIZE1];
int main () {
&&& int flag=<font color=#,sign=<font color=#;
&&& OPS.top=-<font color=#;
&&& OVS.top=-<font color=#;
&&& printf(&请输入表达式:&);
&&& gets(str);
&&& strcpy(str1,str);&&&
&&& flag=check(str);
&&& sign=ERRORINF(flag);
&&& if(sign!=<font color=#) {
&&&&&&&&getch();
&&&&&&&&return -<font color=#;
&&& flag=CALCULATE();
&&& sign=ERRORINF(flag);
&&& if(sign!=<font color=#) {
&&&&&&&&getch();
&&&&&&&&return -<font color=#;
&&&&&&&&printf(&\n%s = %.10f&,str1,RESULT);&&&&&&&&
&&& getch();
&&& return <font color=#;
int check(char ch[])&&{
&&& int i=<font color=#,j=<font color=#,left=<font color=#,right=<font color=#;&&&
&&& for(i=<font color=#;ch[i]!='<font color=#';i++) {
&&&&&&&&if(ch[i]&='('&&ch[i]&='<font color=#') {
&&&&&&&&&&&&if(ch[i]=='(')
&&&&&&&&&&&&&&& left++;
&&&&&&&&&&&&if(ch[i]==')')
&&&&&&&&&&&&&&& right++;&&&&&&&&&&&&
&&&&&&&&&&&&if(ch[i]==<font color=#)
&&&&&&&&&&&&&&& return -<font color=#;&&&
&&& ch[i]=';';
&&& ch[i+<font color=#]='<font color=#';&&&
&&& if(left!=right)
&&&&&&&&return -<font color=#;&&&
&&& for(i=<font color=#;ch[i]!='<font color=#';i++) {
&&&&&&&&if(ch[i]&='<font color=#'&&ch[i]&='<font color=#')
&&&&&&&&&&&&continue;&&&&&&&&&&&&
&&&&&&&&if(ch[i]=='.')
&&&&&&&&&&&&if(!((ch[i+<font color=#]&='<font color=#'&&ch[i+<font color=#]&='<font color=#')&&(ch[i-<font color=#]&='<font color=#'&&ch[i-<font color=#]&='<font color=#')))&&&
&&&&&&&&&&&&&&& return -<font color=#;&&&&&&&&&&&&&&&
&&&&&&&&if(ch[i]=='+'||ch[i]=='-'||ch[i]=='*'||ch[i]=='/') {
&&&&&&&&&&&&if(!((ch[i+<font color=#]&='<font color=#'&&ch[i+<font color=#]&='<font color=#'||ch[i+<font color=#]=='(')&&(ch[i-<font color=#]&='<font color=#'&&ch[i-<font color=#]&='<font color=#'||ch[i-<font color=#]==')')))
&&&&&&&&&&&&&&& return -<font color=#;
&&&&&&&&&&&&continue;
&&&&&&&&}&&&&&&&&
&&&&&&&&if(ch[i]=='(')
&&&&&&&&&&&&if(ch[i-<font color=#]&='<font color=#'&&ch[i-<font color=#]&='<font color=#')
&&&&&&&&&&&&&&& return -<font color=#;&&&&&&&&
&&&&&&&&if(ch[i]==')')
&&&&&&&&&&&&if(ch[i+<font color=#]&='<font color=#'&&ch[i+<font color=#]&='<font color=#')
&&&&&&&&&&&&&&& return -<font color=#;
&&& return <font color=#;
int ERRORINF(int flag) {
&&& switch(flag) {
&&&&&&&&case <font color=#:
&&&&&&&&&&&&return <font color=#;&&&&&&&&
&&&&&&&&case -<font color=#:
&&&&&&&&&&&&printf(&表达式格式错误!&);
&&&&&&&&&&&&return <font color=#;&&&&&&&&
&&&&&&&&case -<font color=#:
&&&&&&&&&&&&printf(&栈OPS溢出!&);
&&&&&&&&&&&&return <font color=#;&&&&&&&&
&&&&&&&&case -<font color=#:
&&&&&&&&&&&&printf(&除0!&);
&&&&&&&&&&&&return <font color=#;&&&&&&&&
&&&&&&&&case -<font color=#:
&&&&&&&&&&&&printf(&栈OVS溢出!&);
&&&&&&&&&&&&return <font color=#;&&&&&&&&
&&&&&&&&case -<font color=#:
&&&&&&&&&&&&printf(&栈OVS访问越界!&);
&&&&&&&&&&&&return <font color=#;&&&&&&&&
&&&&&&&&case -<font color=#:
&&&&&&&&&&&&printf(&栈OPS访问越界!&);
&&&&&&&&&&&&return <font color=#;&&&&&&&&
&&&&&&&&default:
&&&&&&&&&&&&printf(&程序运行错误!&);
&&&&&&&&&&&&return <font color=#;
double convert(int *place) {
&&& char num[SIZE1];
&&& int i=<font color=#,j=*
&&& for(;str[j]&='<font color=#'&&str[j]&='<font color=#'||str[j]=='.';j++,i++)
&&&&&&&&num[i]=str[j];
&&& num[i]='<font color=#';
&&& *place=j;
&&& return atof(num);
int OPSWR(char c) {
&&& OPS.top++;
&&& if(OPS.top&=SIZE1)
&&&&&&&&return -<font color=#;
&&& OPS.stack[OPS.top]=c;
&&& return <font color=#;
int OVSWR(double s) {
&&& OVS.top++;
&&& if(OVS.top&=SIZE1)
&&&&&&&&return -<font color=#;
&&& OVS.stack[OVS.top]=s;
&&& return <font color=#;
int OPSRE(char *c) {
&&& if(OPS.top&<font color=#)
&&&&&&&&return -<font color=#;
&&& else {
&&&&&&&&*c=OPS.stack[OPS.top];
&&&&&&&&OPSDEL();
&&& return <font color=#;
int OVSRE(double *s) {
&&& if(OVS.top&<font color=#)
&&&&&&&&return -<font color=#;
&&& else {
&&&&&&&&*s=OVS.stack[OVS.top];
&&&&&&&&OVSDEL();&&&
&&& return <font color=#;
int OPSDEL() {
&&& if(OPS.top&<font color=#)
&&&&&&&&return -<font color=#;
&&& else {
&&&&&&&&OPS.stack[OPS.top]='<font color=#';
&&&&&&&&OPS.top--;
&&& return <font color=#;
int OVSDEL() {
&&& if(OVS.top&<font color=#)
&&&&&&&&return -<font color=#;
&&& else {
&&&&&&&&OVS.stack[OVS.top]=<font color=#;
&&&&&&&&OVS.top--;
&&& return <font color=#;
int CALCULATE() {
&&& int place,flag=<font color=#;
&&& double RES;
&&& flag=OPSWR(';');&&&
&&& if(flag!=<font color=#)
&&&&&&&&return
&&& for(place=<font color=#;str[place]!='<font color=#';place++) {
&&&&&&&&flag=<font color=#;&&&&&&&&
&&&&&&&&if(str[place]&='<font color=#'&&str[place]&='<font color=#') {
&&&&&&&&&&&&RES=convert(&place);
&&&&&&&&&&&&place--;
&&&&&&&&&&&&flag=OVSWR(RES);
&&&&&&&&&&&&if(flag!=<font color=#)
&&&&&&&&&&&&&&& return
&&&&&&&&&&&&continue;
&&&&&&&&}&&&&&&&&
&&&&&&&&if(str[place]=='(') {
&&&&&&&&&&&&flag=OPSWR('(');
&&&&&&&&&&&&if(flag!=<font color=#)
&&&&&&&&&&&&&&& return
&&&&&&&&&&&&continue;
&&&&&&&&}&&&&&&&&
&&&&&&&&if(str[place]==')')&&{
&&&&&&&&&&&&if(OPS.stack[OPS.top]!='(') {
&&&&&&&&&&&&&&& flag=COMP();
&&&&&&&&&&&&&&& if(flag!=<font color=#)
&&&&&&&&&&&&&&&&&&&&return
&&&&&&&&&&&&&&& place--;
&&&&&&&&&&&&&&& continue;
&&&&&&&&&&&&}
&&&&&&&&&&&&else {
&&&&&&&&&&&&&&& flag=OPSDEL();
&&&&&&&&&&&&&&& if(flag!=<font color=#) {
&&&&&&&&&&&&&&&&&&&&return
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&}
&&&&&&&&&&&&continue;
&&&&&&&&}&&&&&&&&
&&&&&&&&if(str[place]=='+'||str[place]=='-') {
&&&&&&&&&&&&if(OPS.stack[OPS.top]=='('||OPS.stack[OPS.top]==';') {
&&&&&&&&&&&&&&& flag=OPSWR(str[place]);&&&
&&&&&&&&&&&&&&& if(flag!=<font color=#) {
&&&&&&&&&&&&&&&&&&&&return
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& continue;
&&&&&&&&&&&&}
&&&&&&&&&&&&else {
&&&&&&&&&&&&&&& flag=COMP();
&&&&&&&&&&&&&&& if(flag!=<font color=#)
&&&&&&&&&&&&&&&&&&&&return
&&&&&&&&&&&&&&& place--;
&&&&&&&&&&&&&&& continue;
&&&&&&&&&&&&}&&&&&&&&
&&&&&&&&}&&&&&&&&
&&&&&&&&if(str[place]=='*'||str[place]=='/') {
&&&&&&&&&&&&if(OPS.stack[OPS.top]=='*'||OPS.stack[OPS.top]=='/') {
&&&&&&&&&&&&&&& flag=COMP();
&&&&&&&&&&&&&&& if(flag!=<font color=#)
&&&&&&&&&&&&&&&&&&&&return
&&&&&&&&&&&&&&& place--;
&&&&&&&&&&&&&&& continue;&&&&&&&&&&&&
&&&&&&&&&&&&}
&&&&&&&&&&&&else {
&&&&&&&&&&&&&&& flag=OPSWR(str[place]);
&&&&&&&&&&&&&&& if(flag!=<font color=#)
&&&&&&&&&&&&&&&&&&&&return
&&&&&&&&&&&&&&& continue;
&&&&&&&&&&&&}&&&
&&&&&&&&}&&&&&&&&
&&&&&&&&if(str[place]==';') {
&&&&&&&&&&&&if(OPS.stack[OPS.top]==';') {
&&&&&&&&&&&&&&& RESULT=OVS.stack[OVS.top];
&&&&&&&&&&&&&&& return <font color=#;
&&&&&&&&&&&&}
&&&&&&&&&&&&else {
&&&&&&&&&&&&&&& flag=COMP();
&&&&&&&&&&&&&&& if(flag!=<font color=#) {
&&&&&&&&&&&&&&&&&&&&return
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& place--;
&&&&&&&&&&&&&&& continue;&&&&&&&&&&&&&&&
&&&&&&&&&&&&}
&&&&&&&&return -<font color=#;
&&& return <font color=#;
int COMP() {
&&& double A,B,RES;
&&& char&&&
&&& flag=OPSRE(&ops);
&&& if(flag!=<font color=#) {
&&&&&&&&return
&&& flag=OVSRE(&B);
&&& if(flag!=<font color=#) {
&&&&&&&&return
&&& flag=OVSRE(&A);
&&& if(flag!=<font color=#) {
&&&&&&&&return
&&& switch(ops) {
&&&&&&&&case '+':
&&&&&&&&&&&&RES=A+B;
&&&&&&&&&&&&break;
&&&&&&&&case '-':
&&&&&&&&&&&&RES=A-B;
&&&&&&&&&&&&break;
&&&&&&&&case '*':
&&&&&&&&&&&&RES=A*B;
&&&&&&&&&&&&break;
&&&&&&&&case '/':
&&&&&&&&&&&&if(B==<font color=#.0)
&&&&&&&&&&&&&&& return -<font color=#;
&&&&&&&&&&&&RES=A/B;
&&&&&&&&&&&&break;
&&&&&&&&default:
&&&&&&&&&&&&return -<font color=#;
&&& flag=OVSWR(RES);
&&& if(flag!=<font color=#) {
&&&&&&&&return
&&& return <font color=#;
这个是我以前写的,红色部分应该就是你说的问题,这个比较简单,但错误很多,推介看下面一个。(程序在 MinGW 3.4.5 编译通过)
以下这个是我不久前改写的版本(错误应该会比上面的那个少,但是复杂了很多)
[ 本帖最后由 zhangxf1989 于
19:51 编辑 ]
等 级:蝙蝠侠
帖 子:251
专家分:975
回复 6楼 skyhe1a
很多方法让他无限计算的吧!while(TRUE) while(1)
等 级:贵宾
威 望:29
帖 子:1164
专家分:3536
&&得分:10&
回复 楼主 chichu
给楼主提供一个现成的。
附件: 您没有浏览附件的权限,请
版权所有,并保留所有权利。
Powered by , Processed in 0.045940 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved}

我要回帖

更多关于 c语言计算器程序代码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信