c语言模拟计算器四则混合运算

加点说明,谢谢

//此算法只能进行整数四则混合运算,也不支持括号
//按下面的格式输入表达式(末尾无=)
//10-5+4+6/2*14*8/4-5*7+2-4*6/2-10*4-6/3
#include<stdio.h>

int jisuan(int num1,char op1,int num2)
{
switch(op1)
{
case '*':
return num1*num2;
case '/':
return num1/num2;
case '+':
return num1+num2;
case '-':
return num1-num2;
}
}

int process(int num1,char op1,int num2)
{
int r,num3;
char op2;

if('\n'!=(op2=getchar()))
{
scanf("%d",&num3);
if('+'==op2 || '-'==op2)
{
num1=jisuan(num1,op1,num2);
r=process(num1,op2,num3);
}
else if('*'==op2 || '/'==op2)
{
if('/'==op1)
{
num1=jisuan(num1,op1,num2);
r=process(num1,op2,num3);
}
else
{
num2=jisuan(num2,op2,num3);
r=process(num1,op1,num2);
}
}
}
else
{
r=jisuan(num1,op1,num2);
}
return r;
}

int main()
{
int num1,num2;
char op;

printf("请输入一个表达式:");
scanf("%d%c%d",&num1,&op,&num2);
printf("=%d\n",process(num1,op,num2));
return 0;
}
温馨提示:内容为网友见解,仅供参考
无其他回答

用C语言做一个计算器,能实现加减乘除混合运算
1、打开visual C++ 6.0-文件-新建-文件-C++ Source File;2、输入预处理命令和主函数:include<stdio.h> \/*函数头:输入输出头文件*\/ void main()\/*空类型:主函数*\/ 3、定义变量:int a,b,d; \/*定义变量的数据类型为整型*\/ char c;\/*定义变量的数据类型为字符型*\/ 4、输入四则运算...

请问怎么用c语言写一个可以实现加减乘除四则运算的计算器!
2,如果读入加,减号就存如另一个数组用,如果读入乘 除号,就再读入一个数字,从存数字的数组拿出两个数字进行乘 除运算。把结果存入数组中,这么重复直到读入回车键的符号。3,读到回车符号后,就从存符号的数组中拿出一个符号,再从存数字的数组中拿出两个数字进行相应计算,接着再拿出一个数字一...

如何用c语言编写可以实现四则运算的计算器
include <stdio.h>#include <stdlib.h>#include <string.h>void resolve(char *p);void del(int n);void find(char *p);int last();char s[80];int num[80];char sign[80]; \/*此程序所有数组为全局变量*\/int main(){ int n=1; while(n==1) { printf("Enter:\\n...

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

用C语言编程实现一个简单的四则运算计算器
\/\/函数,读数操作数 int getNextNum(){ int ret;scanf("%d",&ret);return ret;} \/\/函数,读运算符 char getOpt(){ return getchar();} \/\/函数,计算 int caculate(int op1 , int op2 ,char opt){ if(opt=='+')return op1+op2;if(opt=='-')return op1-op2;if(opt=='*')...

用c语言做一个简单的计算器。要求能做四则运算就够了,越简单越好。刚学...
short biaozhi;\/*标志是否运算数和运算符,0运算数1运算符*\/ long suzhi;\/*存储运算数*\/ char yunsuanhu;\/*存储运算符*\/ struct int_char *next; }; int main(void) { int zhifujianche(char *pstring); struct int_char *jieshuanshi(char *string); void yunsuan(struct int_char *suansi); ...

C语言模拟计算器的功能,要求至少能实现基本四则运算(加减乘除功能),要求...
include include using namespace std;int main(){ int a,b;\/\/a是输出结果,b是临时输入数据 char x;\/\/x是标点符号输入 cin>>a;\/\/先输入第一个数 while(1)\/\/由于不知道运算式一共多长,所以用一个死循环不断读取 { cin>>x;\/\/输入运算符 if(x.

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

用C语言实现四则运算,没有括号的情况
就是将表达式存入字符数组,然后用switch语句识别第二个字符 比如 char str[4];scanf("%s",str);switch(char[1]){ case '+':printf("%d\\n",str[0]+str[2]);break;case ...} 如果是更复杂的,比如3-4\/3 这里就有优先级的判断 这就要编译技术的知识了 可以先写出文法,再用LR分析法或者...

C语言怎么实现四则运算
我曾用c编了个计算器,支持四则运算,支持括号改变优先级,你看看吧:include <stdio.h> include <string.h> include <stdlib.h> include <conio.h> define Esc 27 define Tab 9 void needle(char* s,char* carriage,int start)\/\/needle意为“用针缝”{ int size_carriage=(int)strlen(carriage)...

相似回答