求助:如果不用print怎么保留两位小数

P5719 【深基4.例3】分类平均

tjhdyhj @ 2021-08-17 20:14:04

#include <iostream>
using namespace std;
int main ()
{
    int a,b,n=0,m=0,numn=0,numm=0,i;
    double x,y;
    cin>>a>>b;
    for (i=1;i<=a;i++)
    {
        if (i%b==0)
        {
            n++;
            numn=numn+i;
        }
        else
        {
            m++;
            numm=numm+i;
        }
    }
    x=numn/n;
    a=x*10+0.5;
    x=a/10.0;
    y=numm/m;
    a=y*10+0.5;
    y=a/10.0;
    cout<<x<<" "<<y;
    return 0;
}

像我这样为什么不行呢,求解答?


by 159号程序员 @ 2021-08-17 20:15:46

@tjhdyhj cout << fixed << setprecision(x) << ......,其中x为保留的精度


by StephaneZ @ 2021-08-17 20:18:41

同上 & 需要#include <iomanip>


by tjhdyhj @ 2021-08-17 20:20:37

@159号程序员 我就是想问一下直接double和int转换这样能不能用主要是懒得背了


by 159号程序员 @ 2021-08-17 20:22:29

@tjhdyhj 这种写法会降低代码可读性+提高出错率,还不如背几个简单的英文单词呢


by ajahjahah @ 2021-08-17 20:24:22

@tjhdyhj 本地亲测double和int转换能用


by tjhdyhj @ 2021-08-17 20:37:38

@StephaneZ 直接<bits/stdc++.h>行吗?


by StephaneZ @ 2021-08-17 21:51:40

@tjhdyhj 可


|