名称:四则运算器
语言:C语言
功能:读入一行计算式(包含数字和运算符),计算结果(保留两位小数)。
实例:输入:3+2*5-1
输出:12.00
原理:用一个数组来保存"+"或者"-"号所连接的数字,如果是"*"或者"/";需要将该运算符后的数值相应的乘到或者被除到前一个数值上并保存在数组中,同时统计数组的长度,最后计算数组的总和即得出结果。
#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
double num[500];
double a;
double data;
double sum;
char c;
while(scanf("%lf",&a)!=EOF)
{
memset(num,0,sizeof(num));
num[0]=a;
int k=1;
while(scanf("%c",&c)!=EOF)
{
if(c=='\n')
break;
else
{
scanf("%lf",&data);
switch(c)
{
case'+':
k++;
num[k-1]=data;
break;
case'-':
k++;
num[k-1]=-data;
break;
case'*':
num[k-1]*=data;
break;
case'/':
num[k-1]/=data;
break;
}
}
}
int i;
sum=0;
for(i=0;i<k;i++)
sum+=num[i];
printf("%.2lf\n",sum);
}
return 0;
}