#include<stdio.h>
main(void)
{
int a,b,c;
char m,n;
scanf("%d",&a);
while(n!=61){
n=getchar();
if(n==43){
scanf("%d",&b);
c=a+b;
printf("%d",c);}
if(n==45){
scanf("%d",&b);
c=a-b;
printf("%d",c);}
if(n==42){
scanf("%d",&b);
c=a*b;
printf("%d",c);}
if(n==47){
scanf("%d",&b);
c=a/b;
printf("%d",c);}
a=c;
}
return 0;
}
要求是按一下运算符号就出一次结果,就像最简单的计算器一样,按下=号就结束,出结果
#include<stdio.h>
int main(void)
{
char a[2];
int b[3],m,i=0,j=0,l=2;
scanf("%d",&m);
getchar();
while(m!='0')
{
if(i==2&&j==1)
{
i=0;
j=0;
if(a[0]=='+')
b[i++]=b[0]+b[1];
else if(a[0]=='-')
b[i++]=b[0]-b[1];
else if(a[0]=='*')
b[i++]=b[0]*b[1];
else if(a[0]=='/')
b[i++]=b[0]/b[1];
if(m=='=')
printf("%d\n",b[0]);
else
printf("%d%c\n",b[0],m);
}
if(l%2==0)
{
l++;
b[i++]=m;
scanf("%c",&m);
getchar();
continue;
}
if(l%2==1)
{
if((m!='+')&&(m!='-')&&(m!='*')&&(m!='/'))
{
scanf("%c",&m);
getchar();
continue;
}
l++;
a[j++]=m;
scanf("%d",&m);
getchar();
continue;
}
}
printf("%d",b[0]);
return 0;
}
结果:
scanf("%d",&a);
while(n!='='){
n=getchar();
scanf("%d",&b);
不说别的 就先只看这段代码
你就连续输入了两个数字
中间没有操作符 当然不符合你的要求了
上面的功能虽然简单
但是实现起来并不是很容易
我建议你用switch语句来实现这个问题