C++问题,求解
01.011 365 14996540.12依据空格判断分成三个字符串传到数组里存储,并且判断第一个字符串有没有小数点,有小数点只保留小数点后一位,没有小数点全保留,麻烦把代码写一下,先说声谢谢了
#include <stdio.h> int main() { const char* str = "01.011 365 14996540.12"; double a; int b; double c; if( 3 == sscanf(str,"%lf%d%lf",&a,&b,&c) ) { a = (int)(a*10)/10.0; printf( "%.1lf\t%d\t%lf\n", a, b, c ); } return 0; }真正的问题在于“有小数点只保留小数点后一位,没有小数点全保留”这一句话,计算机中使用的是浮点数,什么“保留小数点后一位”等都是瞎扯蛋(除非自己写个可以无限精度的自定义类型)