本文介绍了如预期浮点数不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在下面当我给输入作为110 2 1 2 2,总和打印为52和sum3为31.200001了code,而它SHLD已经31.200000

  INT的main(){    INT T,N,I,A [2000]中,M,J,F;
    scanf函数(%d个,& T公司);
    而(T - ){
        scanf函数(%d个,&安培; N);
        scanf函数(%d个,&安培; F);
        对于(i = 0; I< F;我++){
            scanf函数(%d个,&安培; A []);
        }
        scanf函数(%d个,&安培; M);
        如果(N!= 0){
            INT总和= N *(N + 1)/ 2;
            INT SUM2 = 0;
            为(J = 0; J< I; J ++){
                SUM2 + = A [J]。
            }
            sum- = SUM2;
            的printf(%d个\\ N,总和);
            浮sum3;
            如果(N%2 == 0)sum3 =(1.0-2.0 * M / N)*总和;
            别的sum3 =(1.0-2.0 *米/(N + 1))*总和;
            的printf(%F \\ N,sum3);
        }
        其他的printf(0.0000 \\ n);
    }
    返回0;
}


解决方案

浮点指南:

这篇关于如预期浮点数不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-14 23:55