小学期项目:简易计算器
2020年第一次小学期项目制作
项目描述:
实现科学计算器的基本功能。
项目需求:
做一个计算机能够完成四则混合运算,加入乘方和开方运算,并显示出正确的结果。
程序能够根据运算符等级的高低进行运算。
可以输入括号,并按照括号的等级进行优先计算。
可以求二进制、八进制、十六进制、阶乘。
部分源码:
double Power(double m,double n){//乘方运算
double set=1.0;
int i;
double z,x;
scanf("%lf^%lf",&z,&x);
for(i=0;i<x;i++){
set*=z;
}
printf("%.2f",set);
return 0;
}
int Fact(int a,int b){//阶乘
int i,n;
long sum=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
sum=sum*i;
printf("%d!=%ld",n,sum);
printf("\n");
return 0;
}
//实现四则混合运算
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
int AddMinu();
int MutipDiv();
int Factor();
int main()
{
printf("%d",AddMinu());
return 0;
}
int AddMinu()//加减判断
{
int t;
t = MutipDiv();
for(;;)
if(*s=='+')
{ s++;
t = t + MutipDiv();
}
else if(*s=='-')
{ s++;
t = t - MutipDiv();
}
else
break;
return t;
}
int MutipDiv()//乘除判断
{
int p;
p = Factor();
for(;;)
if(*s=='*')
{ s++;
p = p * Factor();
}
else if(*s=='/')
{ s++;
p = p / Factor();
}
else
break;
return p;
}
int Factor()//括号判断
{
int f;
if(*s=='(') {
s++;
f = AddMinu();
if(*s==')')
s++;
return f;
}
f=0;
while('0'<=*s && *s<='9') {
f=f*10+(*s-'0');
s++;
}
return f;
}
浙公网安备 33010602011771号