繁体   English   中英

C中的浮点数

[英]Floating-point numbers in C

我使用以下代码来获取用户输入的任何数字的5个十进制字符的输出除以1,我必须使用(float)进行类型转换。

谁能告诉我如何在没有类型转换或使用浮点常量的情况下完成这项工作?

int main() {
    int n;
    scanf("%d",&n);
    printf("%.5 ", 1/(float)n);
    return 0;
}

您可以使用仅使用整数的这段代码

 printf(n==1?"1.00000":"0.%05d ", 100000/n);

严格按照字面意思提问,你可以这样做:

int main() {
    float n;
    scanf("%f",&n);
    printf("%.5f", 1/n);
    return 0;
}

在这段代码中,没有float literal和没有(float)强制转换。

从技术上讲,这应该做到:

printf("%.5f ", 1/pow(n,1));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM