请编写程序,模拟简单计算器的工作。假定简单计算器只能进行双目实型运算,运算的次序按输入的运算数和运算符的顺序进行,在输入时运算数和运算符之间用空格隔开,例如,输入 10.2 + 1.8 / 3 = 后结果得4.0。
就是这个了,多谢多谢
#include<stdio.h>
main()
{
float a[100];
int i,j;
char b[100];
while(1)
{
for(i=0;i<=99;i++)
{
scanf("%f%c",&a[i],&b[i]);
if(b[i]=='=') break;
}
for(j=0;j<=i;j++)
{
switch(b[j])
{
case '+':a[j+1]=a[j]+a[j+1];break;
case '-':a[j+1]=a[j]-a[j+1];break;
case '*':a[j+1]=a[j]*a[j+1];break;
case '/':a[j+1]=a[j]/a[j+1];break;
case '=':printf("%f\n",a[j]);
}
}
}
getch();
}
说明:输入格式为"10.2+1.8/3=",记住
最后一定要输入"=",再敲回车键,在
TC中运行要加"getch();"以显示结果。
回复:我用的是VC++6.0,调试和运行都
无异常,是不是你最后忘记加等号了,
还是输入数字之后加了空格,为了输入
的方便,我没有设计加空格,直接输入
就可以了,比如输入“3+4-5/2=”,输
出“1.000000",如还有问题可加我。