小学期项目:简易计算器
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;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~