DropsBrowse Pastes
Login with GitHub

2-1

March 1st, 2022Views: 15(0 unique)C
/*(1)	编写函数float  fun(float  x, int  m)
它的功能是:将浮点数x保留m位小数(m不大于6),第m+1位四舍五入。
例如,输入123.456,保留2位小数应输出123.46(或123.459999)。
编写主函数,输入输出在主函数中进行。*/

#include <stdio.h>

float fun(double, int);

int main(void)
{
    int m;
    double x;
    scanf("%lf%d", &x, &m);
    printf("%.*lf", m,fun(x, m));
}

float fun(double x, int m)
{
    int num;
    switch (m)
    {
    case 1:
        x *= 100;
        num = ((int)x + 5) / 10;
        x = (double)num / 10;
        return x;
        break;
    case 2:
        x *= 1000;
        num = ((int)x + 5) / 10;
        x = (float)num / 100;
        return x;
        break;
    case 3:
        x *= 10000;
        num = ((int)x + 5) / 10;
        x = (float)num / 1000;
        return x;
        break;
    case 4:
        x *= 100000;
        num = ((int)x + 5) / 10;
        x = (float)num / 10000;
        return x;
        break;
    case 5:
        x *= 1000000;
        num = ((int)x + 5) / 10;
        x = (float)num / 100000;
        return x;
        break;
    case 6:
        x *= 10000000;
        num = ((int)x + 5) / 10;
        x = (float)num / 1000000;
        return x;
        break;
    default:
        break;
    }
    return 0;
}