哪位高手帮我看看,为什么,得到的结果总是有误差啊!
#include <stdio.h>#include <math.h>
void main()
{double i,j;
char p;
int s;
long l;
printf("Please input the formula:");
scanf("%lf%c%lf",&i,&p,&j);
switch(p)
{case '+':s=i+j;l=(i+j-s)*pow(10,6);break;
case '-':s=i-j;l=(i-j-s)*pow(10,6);break;
case '*':s=i*j;l=(i*j-s)*pow(10,6);break;
case '/':if(j!=0){s=i/j;l=(i/j-s)*pow(10,6);break;}
default: printf("error\n");
}
while(l%10==0) l=l/10; //我是想用它把结果小数末尾中的全部去掉的//
printf("结果为%d.%ld\n",s,l);
}