c语言用函数写一个计算器 C语言做一个计算器

用c语言编写计算器

#include stdio.h

10余年的宁化网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整宁化建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“宁化网站设计”,“宁化网站推广”以来,每个客户项目都认真落实执行。

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语言设计一个简单的加减乘除计算器 具体需要这样做

1、打开visual C++ 6.0-文件-新建-文件-C++ Source File。

2、输入预处理命令和主函数:#include /*函数头:输入输出头文件*/,void main()/*空类型:主函数*/。

3、定义变量:int a,b,d; /*定义变量的数据类型为整型*/,char c;/*定义变量的数据类型为字符型*/。

4、输入四则运算式:printf(输入如“3*4”或“5+2”的四则运算式:);/*输出文字提示*/scanf(%d%c%d,a,c,b);/*输入四则运算式*/。

5、判断运算符号:switch(c) /*判断运算符号*/{case'+':d=a+b;break;/*进行加法6、运算*/case'-':d=a-b;break;/*进行减法运算*/case'*':d=a*b;break;/*进行乘法运算*/case'/':d=a/b;break; /*进行除法运算*/}。

7、输出结果:printf(%d%c%d=%d\n,a,c,b,d);/*输出结果*/。

C语言编写简易计算器程序?

C语言编写计算器

我们可以用printf和scanf函数输出结果和获取用户的输入。需要stdio.h头文件。scanf函数在读取数据的时候不需要再一行上输入每个数据,只要数据和数据之间留出空白就可以了。先声明两个变量number1和number2,operation变量用来存储运算符。用scanf函数获取这两个数字和运算符。分别用%lf %c %lf

请点击输入图片描述

然后需要检测输入是否是正确的,检查是不是+ - * / %,在这里要用到switch函数,用来看operation变量是否别传入了正确的值。

switch(operation)

{

case '+':

printf........

}

具体的运算我们只需要再case之后的printf语句中设定和输出就可以了。

请点击输入图片描述

由于除法和取余运算比较特殊,我们单独说明。除法的除数不能为零,所以除法需要检测除数是否为零,只需要用if else语句就可以,if(number2 == ),取余运算符对于浮点数没有意义,所以将浮点数转换为long类型,强制类型转换,if((long)number2 == 0)   else ,这样整个代码就完成了。

请点击输入图片描述

简单计算器的编辑并不难,但是要注意一些细节,除法的处理要注意除数不能为零的情况,而且取模运算要将两个操作数转化为整型,当然,作为真正的计算器,只实现这些功能是不够的,还需要更多的功能,不过有一个好的开始也不错。

下面我们就运行一下这个程序吧。25*13的值和8%5的值。可以看到是我们期望的值。

请点击输入图片描述

请点击输入图片描述

如何用c语言实现一个计算器???

1、#includestdio.hint main()

2、{    int a,b,c;    scanf("%d%d%d",a,b,c);

3、 int sum = a+b+c;

4、   printf("和: %d",sum);

5、printf("平均值:%f",sum/3.0);

6、return 0

讲解:

1、先定义四个整形。

2、一个浮点型保存平均值。

3、然后在控制台等待输入。

4、将输入的三个整数加起来赋值给sum。

5、将三个整形除以3.0(为什么是3.0,是因为ave是浮点型的,隐性转换到float)。

6、然后输出。

如何用C程序编写一个计算器

1

首先,得从网上下载并安装c++,然后从桌面找到并打开它。

2

四则运算+ - * / 可以用if语句或switch语句实现。两者均用于判断。

if语句运用较广,switch语句运用较为简单方便。

END

用if语句

1

下面先介绍用if语句实现四则运算的方法。

2

#include "stdafx.h"

int main(int argc, char* argv[])

{

float x;

float y;

char r;

printf("请输入如 1+2 的格式\n");

scanf("%f%c%f",x,r,y);

if(r=='+') printf("x+y=%f\n",x+y);

else if(r=='-') printf("x-y=%f\n",x-y);

else if(r=='*') printf("x*y=%f\n",x*y);

else if(r=='/') printf("x/y=%f\n",x/y);

else  printf("input error\n");

return 0;

}

3

输入完毕,进行【全部重建】,然后就可以运行了。

在运行框输入你想要进行的运算,例如想计算 2*5 的值,你只需在运行框直接输入 2*5 ,然后按【enter】键,结果就出来啦。

4

因为每次进行计算都要重新运行,很麻烦,我们可以加入循环语句。

5

#include "stdafx.h"

int main(int argc, char* argv[])

{

float x;

float y;

char r;

printf("请输入如 1+2 的格式\n");

scanf("%f%c%f",x,r,y);

for(;;)

{

if(r=='+') printf("x+y=%f\n",x+y);

else if(r=='-') printf("x-y=%f\n",x-y);

else if(r=='*') printf("x*y=%f\n",x*y);

else if(r=='/') printf("x/y=%f\n",x/y);

else  printf("input error\n");

printf("请输入如 1+2 的格式\n");

scanf("%f%c%f",x,r,y);

}

return 0;

}

6

加入循环之后,我们不用退出再次运行,我们可以在运行框连续输入,非常方便。

END

用switch语句

1

这次是使用switch语句,可达到同样的目的。

2

#include "stdafx.h"

int main(int argc, char* argv[])

{

float x;

float y;

char r;

printf("请输入如 1+2 的格式\n");

scanf("%f%c%f",x,r,y);

switch(r)

{

case '+': printf("x+y=%f\n",x+y);break;

case '-': printf("x-y=%f\n",x-y);break;

case '*': printf("x*y=%f\n",x*y);break;

case '/': printf("x/y=%f\n",x/y);break;

default:printf("input error\n");

}

return 0;

}

3

输入表达式完毕后,进行【全部重建】,然后就可以运行了。

在运行框输入你想要进行的运算,例如想计算 8/7 的值,你只需在运行框直接输入 8/7 ,然后按【enter】键,结果就出来啦。

4

switch语句也可如if语句一般,加入循环,可进行连续输入。

5

#include "stdafx.h"

int main(int argc, char* argv[])

{

float x;

float y;

char r;

printf("请输入如 1+2 的格式\n");

scanf("%f%c%f",x,r,y);

for(;;)

{

switch(r)

{

case '+': printf("x+y=%f\n",x+y);break;

case '-': printf("x-y=%f\n",x-y);break;

case '*': printf("x*y=%f\n",x*y);break;

case '/': printf("x/y=%f\n",x/y);break;

default:printf("input error\n");

}

printf("请输入如 1+2 的格式\n");

scanf("%f%c%f",x,r,y);

}

return 0;

}

END

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

我给你写一个简单的计算器程序,你可以看一下。如果需要更多的功能,那么还要更复杂一些。不是一句话可以说明白的。要用到很多函数的调用,和函数的方法。

#include

"stdio.h"

void

main()

{

int

a,b,result;

char

m;

printf("请输入需要计算的数:\n");

scanf("%d

%d",a,b);

printf("请输入加、减、乘或除\n");

scanf("%c",m);

if(m=="+")

//判断是否进行加法运算,以下同理

result=a+b;

else

if(m=="-")

result=a-b;

elsee

if(m=="*")

result=a*b;

else

if(m=="/")

result=a/b;

else

printf("您输入有误\n");

//如果输入的符号非加减乘或是除,报错

printf("计算结果为:%d\n",result);

//最后输出结果

}

文章标题:c语言用函数写一个计算器 C语言做一个计算器
本文来源:https://www.cdcxhl.com/article28/dodhocp.html

成都网站建设公司_创新互联,为您提供外贸建站网页设计公司电子商务自适应网站网站维护网站排名

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站建设网站维护公司