#include
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",如还有问题可加我。
我试一下了 #include
#include
int main ( void )
{
double dNum1, dNum2;
char ch;
cout<<"Input like this: 1.2 + 3.4"<
switch(ch)
{
case '+':
cout<
case '-':
cout<
case 'x':
cout<
case '/':
cout<
default:
cout<<"error occured"<
}
return 0;
} 该例中乘法用的是x,因为*有特别的含义
#include
using namespace std;
int main()
{
int a,b;
char c;
cin>>a;
cin>>c;
cin>>b;
switch(c)
{
case '+':printf("%d+%d=%d\n",a,b,a+b);break;
case '-':printf("%d-%d=%d\n",a,b,a-b);break;
case '*':printf("%d*%d=%d\n",a,b,a*b);break;
default:
if (c=='/')
if (a%b==0)
printf("%d/%d=%d\n",a,b,a/b);
else
printf("%d/%d=%d\n...%d",a,b,int(a/b),a%b);
else
printf("Error");
}
system("pause");
return 0;
}
编这个肯定不是一会儿的事,不过我建议你去csdn下一个,应该有你要的!