在你的代码中,scanf函数的格式控制字符串中,%.6Lf是不合法的,应该改为%Lf。%.6Lf是用来指定浮点数的小数点后的位数的,但是scanf函数中不支持这种格式。
另外,当输入的a为0时,1/a会出现除0的情况,导致结果为NaN。你可以在输入a之后,加上对a是否为0的判断,如果a为0,则直接输出0.0000。
#include
int main(void)
{
long double a;
scanf("%Lf", &a);
if (a == 0) {
printf("0.0000");
} else {
a = 1 / a;
printf("%.3Lf", a);
}
return 0;
}
注意,在printf函数中,输出浮点数的小数点后的位数也要符合题目要求