1

我正在使用以下代码将用户输入的任何数字除以 1 时最多输出 5 个十进制字符,我必须使用(float).

谁能告诉我如何在不进行类型转换或使用浮点常量的情况下做到这一点?

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

3 回答 3

3

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

 printf(n==1?"1.00000":"0.%05d ", 100000/n);
于 2012-07-15T03:10:18.877 回答
1

从字面上看你的问题,你可以这样做:

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

在这段代码中,没有浮点文字,也没有强制转换(float)

于 2012-07-15T03:09:44.863 回答
0

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

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

于 2013-09-22T00:39:44.287 回答