急!在线等,用c语言编写计算器,If或者switch都可以
发布网友
发布时间:2022-04-22 00:10
我来回答
共1个回答
热心网友
时间:2023-07-03 03:08
#include <stdio.h>
#include<math.h>
void main()
{
char c;
float a,b,r;
while(1)
{
printf("输入运算式:");
scanf("%f%c%f",&a,&c,&b);
switch(c)
{
case '+':
r = a+b;
break;
case '-':
r = a-b;
break;
case '*':
r = a*b;
break;
case '/':
r = a/b;
break;
case '^':
r = pow(a,b);
break;
case '#':
r = sqrt(a);
break;
default:
printf("不支持此运算!");
continue;
}
printf("%.0f%c%.0f=%.2f\n",a,c,b,r);
}
}
这就是你说的简单的……
#表示开方……
要不你就改成这样:
#include <stdio.h>
#include<math.h>
#include<stdlib.h>
float add(float a,float b)
{
return a+b;
}
float minus(float a,float b)
{
return a-b;
}
float multi(float a,float b)
{
return a*b;
}
float div(float a,float b)
{
return a/b;
}
void menu()
{
printf("\t\t***********计算器*************\n");
printf("\t\t* 1.简单计算器 *\n");
printf("\t\t* 2.退出程序 *\n");
printf("\t\t******************************\n");
}
int main()
{
int choice;
char c;
float a,b,r;
while(1)
{
menu();
printf("输入选项:");
scanf("%d",&choice);
fflush(stdin);
switch(choice)
{
case 1:
while(1)
{
printf("输入运算式:");
scanf("%f%c%f",&a,&c,&b);
switch(c)
{
case '+':
r = add(a,b);
break;
case '-':
r = minus(a,b);
break;
case '*':
r = multi(a,b);
break;
case '/':
r = div(a,b);
break;
case '^':
r = pow(a,b);
break;
case '#':
r = sqrt(a);
break;
default:
printf("不支持此运算!");
continue;
}
printf("%.0f%c%.0f=%.2f\n",a,c,b,r);
}
case 2:
return 0;
}
}
}
简单的能复杂到哪里去……已经够看了