如何使用C语言做一个简单的计算器

2024-11-05 02:37:42
推荐回答(4个)
回答1:

#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",如还有问题可加我。

回答2:

我试一下了 #include
#include
int main ( void )
{
double dNum1, dNum2;
char ch;
cout<<"Input like this: 1.2 + 3.4"< cin>>dNum1>>ch>>dNum2;
switch(ch)
{
case '+':
cout< break;
case '-':
cout< break;
case 'x':
cout< break;
case '/':
cout< break;
default:
cout<<"error occured"< break;
}
return 0;
} 该例中乘法用的是x,因为*有特别的含义

回答3:

#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;
}

回答4:

编这个肯定不是一会儿的事,不过我建议你去csdn下一个,应该有你要的!