C语言怎么做计算器

C语言怎么做计算器,第1张

楼主你好
你写的代码比较繁琐
我写了一个较简洁的
(应你的要求 只能用if else语句)
#include <stdioh>
#include <stdlibh>

int main(void)
{
int choice;//选择
double a,result;

while(1)
{
result=00;
printf("(1加法 2减法 3乘法 4除法 5退出)\n输入你的选择:");
scanf("%d",&choice);

if(1 == choice)
{
printf("输入一个实数a:");
while(1 == scanf("%lf",&a))
result+=a;
}

else if(2 == choice)
{
int flag=1;
printf("输入一个实数a:");
while(1 == scanf("%lf",&a))
{
if(flag == 1)
result+=a;
else
result-=a;
flag=0;
}
}

else if(3 == choice)
{
result=10;
printf("输入一个实数a:");
while(1 == scanf("%lf",&a))
result=a;
}

else if(4 == choice)
{
int flag=1;
result=10;

printf("输入一个实数a:");
while(1 == scanf("%lf",&a))
{
if(flag == 1)
result/=a;
else
result=a;
}
}

else if(5 == choice)
{
printf("最终结果:%2f\n",result);
break;
}

else
printf("输入错误!\n");

printf("最终结果:%2f\n",result);
system("pause");
system("cls");
getchar();
}
return 0;
}
希望能帮助你哈

#include<<a href=">

void main() { float x,y,z; char c;

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

switch ( c ) {

case '+': z=x+y; break;

case '-': z=x-y; break;

case '': z=xy; break;

case '/': z=( y==0 )(0):(x/y); break;

default: z=0; break;

}

printf("%f%c%f=%f\n",x,c,y,z);

}

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。[1]  目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

#include<stdioh>
#include<windowsh>
#include<mathh>
#define p 31415926
#define r p/180 //r=p/180,p=314,p/180是求的1弧度,下面sin(里面要求的是弧度),sin(30弧度)=05。 void main()
{
float i,j,k;
int l,m,n,a[10];
char cmd;
LOOP:
system("cls");
printf("\n");
printf("小寒计算器\n");
printf("\n");
printf("\n\n本计算器提供+、-、、/四种运算。\n");
printf("p-代表圆周率pai。\n");
printf("a-代表十进制转换为二进制。\n");
printf("b-代表十进制转换为八进制。\n");
printf("c-代表十进制转换为十六进制。\n");
printf("d-代表该数值开方。\n");
printf("e-代表该数值开立方。\n");
printf("f-代表求几次方。\n");
printf("S-代表sin。\n");
printf("C-代表cos。\n");
printf("T-代表tan。\n");
printf("\n\n请输入要计算的数字和运算符号,输入“#”时,结束;输入“!”时复位。\n");
scanf("%f",&k);
while((cmd=getchar())!='#')
{
if(i!=0)
switch(cmd)
{
case '+': scanf("%f",&i);
k=k+i;
printf("=%52f",k);
break; case '-': scanf("%f",&i);
k=k-i;
printf("=%52f",k);
break; case '': scanf("%f",&i);
k=ki;
printf("=%52f",k);
break; case '/': scanf("%f",&i);
k=k/i;
printf("=%52f",k);
break;
case 'p': k=kp;
printf("%64f",k);
break; case 'f': printf("请输入要求该数字的几次方:");
scanf("%d",&n);
i=k;
for(m=0;m<n-1;m++)
k=ki;
printf("%52f",k);
break; case 'a': printf("转换成二进制\n");
m=0;
while((int)k>0)
{
l=k;
k=k/2;
l=l%2;
a[m]=l;
m++;
}
for(n=m-1;n>=0;n--)
printf("%d",a[n]);
break; case 'b': printf("转换成八进制\n");
m=0;
while((int)k>0)
{
l=k;
k=k/8;
l=l%8;
a[m]=l;
m++;
}
for(n=m-1;n>=0;n--)
printf("%d",a[n]);
break;
case 'c': printf("转换成十六进制\n");
m=0;
while((int)k>0)
{
l=k;
k=k/16;
l=l%16;
a[m]=l;
m++;
}
for(n=m-1;n>=0;n--)
{
if(a[n]==10)
{ printf("A");continue;}
else if(a[n]==11)
{ printf("B");continue;}
else if(a[n]==12)
{ printf("C");continue;}
else if(a[n]==13)
{ printf("D");continue;}
else if(a[n]==14)
{ printf("E");continue;}
else if(a[n]==15)
{ printf("F");continue;} printf("%d",a[n]);
}
break;
case 'e': printf("该数值开立方得\n");
i=pow(k,10/3);
printf("%52f",i );
break;
case 'd': printf("该数值开方得\n");
i=k/2;
j=sqrt(k);
printf("%52f",j);
break; case 'S': k=kr;
i=sin(k);
printf("%52f",i);
break;
case 'C': k=kr;
i=cos(k);
printf("%52f",i);
break; case 'T': k=kr;
i=tan(k);
printf("%52f",i);
break; case '!': goto LOOP;
}
}
}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/12629685.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存