• 牛客网多校训练 酸碱滴定


    题目描述    题目来源

    有时候你会抱怨,什么时候才能到终点。
    有时候你会迫不及待,怎么颜色还不改变。
    滴定管长场的,我们的路长长的。
    用心的放入每一滴,终点就在你手心。
    今天小星需要去完成一个酸碱滴定实验。,实验室老师要求用 A mol/L 的HCL去测定一瓶NaOH的浓度。首先小星取出了一个锥形瓶,在里面放入的Bml的NaOH,并滴加1-2滴甲基橙,然后用HCL去滴定他 当滴定至恰好变为红色时(可以认为H离子浓度等于OH离子浓度),用了C ml
    小星现在需要计算NaOH的浓度是多少?单位(mol/L)
    对于浓度采用化学里“四舍六入五成双”方法保留2位小数
    规则1 :第三位小数≤4 时舍去
    规则2: 第三位小数≥6时进上
    规则3: 第三位小数等于5时
    3.1首先根据 5后面的数字来定,当5后有数时,舍5入1;
    3.2当5后无有效数字时,需要分两种情况来讲:
        3.2.1   5前为奇数,舍5入1;
        3.2.2  5前为偶数,舍5不进(0是偶数
    例如
    9.8249=9.82    规则1 
    9.82671=9.83  规则2
    9.82501=9.83  规则3.1
    9.8351 =9.84  规则3.1
    9.8350=9.84    规则3.2.1
    9.8250=9.82   规则3.2.2
     
     
     

    输入描述:

    输入第一行一个数T(T<=20)表示数据组数
    对于每组数据输入 A,B,C三个3位小数
    0.000<a,b,c<50.000

    输出描述:

    结果“四舍六入五成双”保留2位小数
    示例1

    输入

    3
    10.000 10.000 1.825
    10.000 10.000 9.835
    1.010 21.325 19.823

    输出

    1.82
    9.84
    0.94

    说明

    样例1中计算出的结果为 1.8250000000根据(规则3.2.2) 答案应该为1.82
    9.835->9.84(规则3.2.1)

    总结
    printf的四舍五入还是有点问题的,他严格遵守四舍六入,五的时候不稳定
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <iostream>
    using namespace std;
    void show(double ans)
    {
        int k=ans*1000.0;
      //  cout<<k<<endl;
        if(k%10==5)
        {
            if(fabs(ans*1000.0-floor(ans*1000.0))>0.0000001)//这里考虑到浮点运算的误差问题
            {
    //这里进一位,不能使用printf("%.2f/n",ans);因为printf对于第三位是5时,有时候会进,有时又不进 printf(
    "%.2f ",floor(ans*100.0)/100.0+0.01);//简单粗暴的将后面的剁掉在加一位,哈哈 } else if(k/10%10%2==1) { printf("%.2f ",floor(ans*100.0)/100.0+0.01); } else { printf("%.2f ",floor(ans*100.0)/100.0); } } else { printf("%.2f ",ans);//当第三位不是5时printf是不会错的 } return; } int main() { double a,b,c; int n; while(cin>>n) { for(int i=0;i<n;i++) { cin>>a>>b>>c; show(a*c/b); } } return 0; }
  • 相关阅读:
    ListActivity优点
    博客随笔
    第三周作业附加题之课外书读后感
    第3周作业。
    第三周作业
    读《弟弟》,笔记
    使用git将文件上传到Coding
    第二周作业
    第一周作业
    第零次作业
  • 原文地址:https://www.cnblogs.com/carcar/p/8449610.html
Copyright © 2020-2023  润新知