我正在使用以下代码来获取用户输入的任何数字的5个十进制字符的输出除以1,我必须用(float)
对其进行类型转换。
任何人都可以告诉我如何在没有类型转换或使用浮点常量的情况下完成这项工作吗?
int main() {
int n;
scanf("%d",&n);
printf("%.5 ", 1/(float)n);
return 0;
}
答案 0 :(得分:3)
您可以use this piece of code只使用整数:
printf(n==1?"1.00000":"0.%05d ", 100000/n);
答案 1 :(得分:1)
严格按照字面意思提问,你可以这样做:
int main() {
float n;
scanf("%f",&n);
printf("%.5f", 1/n);
return 0;
}
在此代码中,没有浮动字面值,也没有(float)
强制转换。
答案 2 :(得分:0)
从技术上讲,应该这样做:
printf("%.5f ", 1/pow(n,1));