#include <stdio.h>
int main()
{
float a,b,c;
char ch;
int count=0;
printf("请输入式子:");
scanf("%f%c%f",&a,&ch,&b);
while(getchar()!='\n')
{
count++;
}
if(count==0)
{
if(ch=='+')
{
c=a+b;
printf("结果为:%.2f\n",c);
}
else if(ch=='-')
{
c=a-b;
printf("结果为:%.2f\n",c);
}
else if(ch=='*')
{
c=a*b;
printf("结果为:%.2f\n",c);
}
else if(ch=='/')
{
c=a/b;
if(b!=0)
{
printf("结果为:%.2f\n",c);
}
else
{
printf("除数不能为零!\n");
}
}
}
else
{
printf("抱歉算不了");
}
return 0;
}
应该能看懂吧,不懂再问。
还有,问题的时候代码要规范贴,就像我这样能一键复制粘贴的。
最后,如果满意的话能不能给个最佳答案呢亲{:5_92:}{:5_92:} 你的两个数字是个位数的运算的意思吗?还是说两个十位数之间的运算? emmm范围的话,你输入的数字超出float的范围会自动报错,然后你应该多设置一个变量,因为你是两个数的四则运算,超出两个数显示抱歉算不了,
比如定义了a,b,c,d 例如我输出1+1*3,赋值a=1,b=+,c=1,d=*,然后判断d是否为零,因为符号在ASCII码中对应着不是零,你可以初始化给d赋值0,如果不是零,则说明他输入的不是一个两位数的运算,就输出抱歉算不了,是零就继续运算下去,希望对您有帮助。 不是非要输入d的,你可以增加一个判断,先对d初始化为0,然后如果他输入的运算超过了两位,就比如3*4/5,第四个对应的/号,它对应的ASCII是一个数,进行判断,输出运算不了,如果d是0,则正常运算,跟d无关。
页:
[1]