用C语言编写一个简单的可以进行加减乘除运算混合运算的计算器
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/09/21 01:42:52
用C语言编写一个简单的可以进行加减乘除运算混合运算的计算器
要求:
1.可以进行 + - * / 四则运算.
2.可以进行混合运算.如 4+5*6=34
只要能先乘除再加减就行,还要完整的程序,别只给一段,而且要能运行.
要求:
1.可以进行 + - * / 四则运算.
2.可以进行混合运算.如 4+5*6=34
只要能先乘除再加减就行,还要完整的程序,别只给一段,而且要能运行.
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "stdlib.h"
#include "ctype.h"
int n=0;
char record[20];
float product();
float change();
float muli()
{
\x09float summ;
\x09summ=product();
\x09while(record[n]=='-'||record[n]=='+')
\x09{
\x09\x09switch(record[n])
\x09\x09{
\x09\x09\x09case '+':n++;summ+=product();break;
\x09\x09\x09case '-':n++;summ-=product();break;
\x09\x09}
\x09}
\x09return summ;
}
float product()
{
\x09float sump;
\x09sump=change();
\x09while(record[n]=='*'||record[n]=='/')
\x09{
\x09\x09switch(record[n])
\x09\x09{
\x09\x09\x09case '*':n++;sump*=change();break;
\x09\x09\x09case '/':n++;sump/=change();break;
\x09\x09}
\x09}
\x09return sump;
}
float change()
{
\x09float sumc;
\x09char rec[20],i=0;
\x09if(record[n]=='(')
\x09{
\x09\x09n++;
\x09\x09sumc=muli();
\x09}
\x09if(record[n]==')')
\x09 n++;
\x09 while(isdigit(record[n])||record[n]=='.')
\x09 {
\x09 \x09while(isdigit(record[n])||record[n]=='.')
\x09 \x09\x09rec[i++]=record[n++];
\x09 \x09\x09rec[i]='\0';
\x09 \x09\x09sumc=atof(rec);
\x09 }
\x09 return sumc;\x09
}
void main()
{
\x09while(1)
\x09{
\x09n=0;
\x09scanf("%s",record);
\x09printf("%s=%g\n",record,muli());
\x09}
}
这个是比较简单的.但是有点难理解.不过运行绝对正确.还支持括号.但是在这个程序里面我加没有出错处理.
另一种方法是用栈写.这个好理解.但是麻烦.
#include "stdio.h"
#include "stdlib.h"
#include "ctype.h"
int n=0;
char record[20];
float product();
float change();
float muli()
{
\x09float summ;
\x09summ=product();
\x09while(record[n]=='-'||record[n]=='+')
\x09{
\x09\x09switch(record[n])
\x09\x09{
\x09\x09\x09case '+':n++;summ+=product();break;
\x09\x09\x09case '-':n++;summ-=product();break;
\x09\x09}
\x09}
\x09return summ;
}
float product()
{
\x09float sump;
\x09sump=change();
\x09while(record[n]=='*'||record[n]=='/')
\x09{
\x09\x09switch(record[n])
\x09\x09{
\x09\x09\x09case '*':n++;sump*=change();break;
\x09\x09\x09case '/':n++;sump/=change();break;
\x09\x09}
\x09}
\x09return sump;
}
float change()
{
\x09float sumc;
\x09char rec[20],i=0;
\x09if(record[n]=='(')
\x09{
\x09\x09n++;
\x09\x09sumc=muli();
\x09}
\x09if(record[n]==')')
\x09 n++;
\x09 while(isdigit(record[n])||record[n]=='.')
\x09 {
\x09 \x09while(isdigit(record[n])||record[n]=='.')
\x09 \x09\x09rec[i++]=record[n++];
\x09 \x09\x09rec[i]='\0';
\x09 \x09\x09sumc=atof(rec);
\x09 }
\x09 return sumc;\x09
}
void main()
{
\x09while(1)
\x09{
\x09n=0;
\x09scanf("%s",record);
\x09printf("%s=%g\n",record,muli());
\x09}
}
这个是比较简单的.但是有点难理解.不过运行绝对正确.还支持括号.但是在这个程序里面我加没有出错处理.
另一种方法是用栈写.这个好理解.但是麻烦.
用C语言编写一个简单的可以进行加减乘除运算混合运算的计算器
用C语言编写一个简单的可以进行四则运算混合运算的计算器!
c语言计算器程序设计包含加减乘除简单的函数运算
C语言 简单的计算器 只需要进行 加减乘除的运算 谢谢大神!
利用c语言设计开发一个简单计算器,可进行加减乘除运算.
用C语言设计一个简单计算器程序,能根据键盘输入的运算指令和数据,做简单的加减乘除运算.
C#编写简单计算器简单计算器:完成简单的计算器,可以进行(+,-,*,/,^(乘方),sqrt(平方根))的算术运算.+
用C语言设计一个简单的计算器,要求能够对输入的数 1.进行+,-,*,/,运算; 2.可以带括号( ); 5
C语言计算器问题解决,要实现简单的四则运算,输入一个式子,可以返回运算结果
制作一个简单的计算器程序,实现加减乘除运算.
C语言编写 89C51单片机 用矩阵键盘 小数码管计算器 实现两位数 加减乘除运算
用C语言编写一个简单的计算器