闲着没事看了个帖子,试了下竟然搞不定
int a,b;
float c;
c=a/b;
得出来的结果不尽人意呀,整数除以整数还是整数,自动向下取整 5/3=1 7/3=2.。。。。
依照论坛上先看到的各种办法试过了,比如这种:
int a,b;
float c;
c=(float)a/b;
结果还是不行
各种换型符也试过了 %f %lf 乱七八糟的都试过了,就是不行
结果看到了一个大佬的解决方法,牛逼!简约!
int a,b;
float c;
c=a*1.0/b;
神特么1.0!!!
竟然可以了!!!
由此得出一个结论,方法一定要灵活!不能完全依照学来的套路和语法去写代码,开放思维逻辑,才能写出高效率且简单的代码!
#include<stdio.h>
int main()
{
int x,y;
float q;
char z=0;
printf("您要计算的内容:");
scanf("%d%c%d",&x,&z,&y);
switch(z)
{
case '+':
q=x+y;
printf("%d+%d=%.2f\n",x,y,q);
break;
case '-':
q=x-y;
printf("%d-%d=%.2f\n",x,y,q);
break;
case '*':
q=x*y;
printf("%d*%d=%.2f\n",x,y,q);
break;
case '/':
q=x*1.0/y;
printf("%d/%d=%.2f\n",x,y,q);
break;
default:
printf("输入有误,请重新输入");
}
return 0;
}
加油加油!!!!!