|
8鱼币
本帖最后由 连心 于 2016-7-5 02:07 编辑
#include<stdio.h>
float shu[20],temp,sum=0.0;
char fh[20];
int i,j,k;
int cc(void)
{
for(j=0;j<20;j++)
if(fh[j]=='*'||fh[j]== '/')
{
if(fh[j]=='*')
{
sum+= shu[j] * shu[j+1];
}
else
{
if(shu[j+1] == 0)
printf("input error! div is zero!");
else
{
sum+=shu[j] / shu[j+1];
}
}//优先级
}
return (temp);
}
float jiajian(float x)
{
for(k=0;k<20;k++)
{
if(fh[k]=='+'||fh[k]=='-')
{
if(k==(x-1)||k==(x+1))
sum+=shu[k] + x;
else
sum+=shu[k] + shu[k+1];
}
else
if(fh[k]=='-')
{
if(k==(x-1)||k==(x+1))
{
if(k==(x-1))
sum+=shu[k]-x;
else
sum+=x - shu[k];
}
else
sum+=shu[k] - shu[k+1];
}
}
}
main()
{
char input[20];
printf("请输入表达式:");
scanf("%s",input);
for(i=0;i<20;i++)
{
if(input[i]>='0'&&input[i]<='9')
shu[i] = input[i]-'0';
else
fh[i] = input[i];
}//完成数符分离
jiajian(cc());
printf("%f\n", sum);
}
|
|