问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

c语言作业 简单的计算器

发布网友 发布时间:2022-05-01 11:31

我来回答

1个回答

热心网友 时间:2023-10-09 23:52

#include <stdio.h>
struct s_node
{
int data;
struct s_node *next;
};
typedef struct s_node s_list;
typedef s_list *link;
link operator=NULL;
link operand=NULL;

link push(link stack,int value)
{
link newnode;

newnode=(link) malloc(sizeof(s_list));
if(!newnode)
{
printf("\nMemory allocation failure!!!");
return NULL;
}
newnode->data=value;
newnode->next=stack;
stack=newnode;
return stack;
}

link pop(link stack,int *value)
{
link top;
if(stack !=NULL)
{
top=stack;
stack=stack->next;
*value=top->data;
free(top);
return stack;
}
else
*value=-1;
}

int empty(link stack)
{
if(stack==NULL)
return 1;
else
return 0;

}

int is_operator(char operator)
{
switch (operator)
{
case '+': case '-': case '*': case '/': return 1;
default:return 0;
}
}

int priority(char operator)
{
switch(operator)
{
case '+': case '-' : return 1;
case '*': case '/' : return 2;
default: return 0;
}
}

int two_result(int operator,int operand1,int operand2)
{
switch(operator)
{
case '+':return(operand2+operand1);
case '-':return(operand2-operand1);
case '*':return(operand2*operand1);
case '/':return(operand2/operand1);
}
}

void main()
{
char expression[50];
int position=0;
int op=0;
int operand1=0;
int operand2=0;
int evaluate=0;

printf("\nPlease input the inorder expression:");
gets(expression);

while(expression[position]!='\0'&&expression[position]!='\n')
{
if(is_operator(expression[position]))
{
if(!empty(operator))
while(priority(expression[position])<= priority(operator->data)&&
!empty(operator))
{
operand=pop(operand,&operand1);
operand=pop(operand,&operand2);
operator=pop(operator,&op);
operand=push(operand,two_result(op,operand1,operand2));
}
operator=push(operator,expression[position]);
}
else
operand=push(operand,expression[position]-48);
position++;
}
while(!empty(operator))
{
operator=pop(operator,&op);
operand=pop(operand,&operand1);
operand=pop(operand,&operand2);

operand=push(operand,two_result(op,operand1,operand2));
}
operand=pop(operand,&evaluate);
printf("The expression [%s] result is '%d' ",expression,evaluate);
getch();
}
用c语言程序设计一个简单计算器,求其源代码

rectangle( x, y, x + width, y + height );sprintf(str2, "%c", str1[j * 5 + i]);outtextxy( x + (width / 2), y + height / 2, str2);x += width + (width / 2);

如何用C语言编写一个简单的计算器?

1、首先在打开的C语言软件窗口中,在Main函数的上方,写上阶乘函数的框架,如下图所示。2、然后定义一个变量【result】,如下图所示。3、然后输入if判断语句,就可以写下程序的关键语句,如下图所示。4、接下来就可以调用输出,如下图所示。5、最后点击运行,如下图所示,就可以运行测试。

如何用C语言编程制作一个简易计算器?

1、打开CodeBlocks,新建一个空白文件,先定义头文件和主函数,接着写程序多大的主体:2、首先定义所需要的变量,将变量定义为浮点型,定义输入函数,将刚才的x和y定义为计算的变量,将c定义为选择计算方式的变量。用switch语句,将c作为选择变量,填写计算方式的选项,最后在主函数中输入一个输出函数来...

用C语言编写一个简单的计算器1

printf( "结果:%.2lf\n", ret ); return 0;} 写个简单易懂的,你操作计算器的步骤就是编写程序的思路呀

怎样用c语言编一个简单的计算器?最简单的

//简单计算器,含加减乘除、乘方运算。 #include&lt;string.h&gt; #include&lt;ctype.h&gt; #include&lt;malloc.h&gt; // malloc()等 #include&lt;limits.h&gt; // INT_MAX等 #include&lt;stdio.h&gt; // EOF(=^Z或F6),NULL #include&lt;stdlib.h&gt; // atoi() #include&lt;io.h&gt; // eof() #include&lt;math.h&gt; // floor(),ceil(...

C语言计算器 功能要求: 可以输入0-9数字、小数点、正负数 可以进行加 ...

下面是使用 C 语言设计简易科学计算器的示例代码:include &lt;stdio.h&gt; include &lt;stdlib.h&gt; include &lt;math.h&gt; int main(){ char op;double num1, num2;printf("请输入数学表达式(如:1 + 2):");scanf("%lf %c %lf", &amp;num1, &amp;op, &amp;num2);switch (op){ case '+':printf("结果...

用C语言做一个计算器,能实现加减乘除混合运算?

是的,可以使用C语言编写一个计算器程序,能够实现加、减、乘、除等混合运算。下面是一个简单的示例程序:```c include &lt;stdio.h&gt; int main() { char operator;double num1, num2, result;printf("Enter an operator (+, -, *, /): ");scanf("%c", &amp;operator);printf("Enter two ...

怎么用C语言编写计算器程序?

&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;/&lt;/&lt;/#include &lt;stdio.h&gt;&lt;/int main() {&lt;/ char operator;&lt;/ double num1, num2, result;&lt;/ printf("欢迎来到C语言计算器!请输入运算符 (+, -, *, /): ");&lt;/ scanf("%c", &amp;operator);&lt;/ printf("请输入两个数...

c语言设计一个简单的计算器程序

scanf("%d%d",&i,&j);//输入要计算的数值 switch(select){ case1:printf("%d+%d=%d\n",i,j,num=i+j);//实现加法功能 break;case2:printf("%d-%d=%d\n",i,j,num=i-j);//实现减法功能 break;case3:printf("%d*%d=%d...

用C语言做一个计算器,能实现加减乘除混合运算

用C语言编写一个简单的可以进行加减乘除运算混合运算的计算器的方法:1、打开visual C++ 6.0-文件-新建-文件-C++ Source File;2、输入预处理命令和主函数:include&lt;stdio.h&gt; /*函数头:输入输出头文件*/ void main()/*空类型:主函数*/ 3、定义变量:int a,b,d; /*定义变量的数据类型为...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
《铁城墙》最新txt全集下载 村庄的秋天_作文 它们的姿态更美:有的昂首怒放,有的含苞欲放……中省略了什么?_百度... 深圳市优思动科技有限公司怎么样? 人工智能ai就业方向及前景 iOS SDK(二):Bundle 创建 &amp; 使用 电脑重装系统之后怎么重装word电脑重装系统后word文件在哪儿 求个300字左右的 令我难忘的一件事 跪求了。马上用。 为什么别人打给我显示暂时无法接通? 保定到成都最省钱路线咨询 就地仪表的保温箱 如图是一保温箱的简化电路图, 36v变压器220v的问题 立式冷藏展示柜,总功率555W,一天24小时耗电多少度? 2500W的保温台和一个450W的保鲜展示柜和一个2匹空调能共用一根6平方的铜芯线? 食堂用的热菜保温箱几瓦 王者荣耀实名认证更改 绑定了别人身份证怎么办? 热水器保温时功率是多少 暖柜一天用多少电 保温柜耗电量大吗? QQ屏幕分享的原理,和录屏软件的原理一样吗 本人王者账号被绑定了别人的身份证,现在系统要求人脸识别,那个人也联系不上,去健康系统换绑身份证,系_百度问一问 怎么在已经连上WIFI的笔记本里查看WIFI的用户名和密码? 功率大小和保温柜的关系 生鲜电子保温柜的功率是多大? 华为手机充电显示一个电池一个插头,手机开不了机是怎么回事 怎样煮玉米 煮玉米应该搭配什么菜吃比较好? 煮玉米时放点什么更好吃 在煮玉米时,应该多加哪几样料,煮好的玉米才会又香又甜? 陕西干部网络学院怎么快速选课 湖南干部网络学院到期的课程还可以学吗 干部网络学院能否补考? 登录黑龙江干部教育网络学院以后又修改的密码忘记了怎么办? 山东工会干部网络学院里的课程是否更新 吉林干部网络培训学院可以倍速观看吗 怎么去掉照片上的水印 年级造句 幽默恋爱语录经典 小学二年级怎么用“年级”造句? 求经典搞笑爱情语录,不经典不搞笑的不要哦~ 哪里造句一年级 经典爱情搞笑语录 年级的造句 求周星驰经典搞笑语句和爱情对白 皖事通黑色二维码怎么找出来 周星驰电影中,有哪些经典的爱情语句? 关于爱笑的经典语录 黑色星期五的歌词及中文翻译 理光5002 代码sc670-00求解
  • 焦点

最新推荐

猜你喜欢

热门推荐