为什么还是没有正确输出结果?
以下为上次提问
。
a不是强制转换成int了吗?为什么还会报错?用这种方法存在什么问题?
用一个int型变量存储输入的小数乘以10强制类型转为int后的结果,然后其他地方稍微改一下。
#include <iostream>
using namespace std;
int main(void){
int b,c,d,e,f;
double a;
scanf("%lf",&a);
int ia = int(a*10);
printf("ia=%d\n",ia);
b=ia/1000; //百位
c=ia/100%10; //十位
d=ia/10%10; //个位
e=ia%10; //小数位
double df=e*100+d*10+c+b*0.1;
printf("%.1lf",df);
return 0;
}