问题
编写一个程序,读取一个浮点数,先打印成小数点形式,再打印成指数形式。然后,如果系统支持,再打印成p记数法(即十六进制记数法)。按以下格式输出(实际显示的指数位数因系统而异):
Enter a floating-point value: 64.25
fixed-point notation: 64.250000
exponential notation: 6.425000e+01
p notation: 0x1.01p+6
分析
此C语言程序题考查的是正确读取浮点数、打印输出格式转换。
很明显,题干给出的示例中,输入的是64.25,第一行输出的就是原格式的值,第二行输出的是保留小数位数6位的值,第三行输出的是保留小数位数6位的以10为底科学计数法,第四行输出端的是16进制的浮点数的科学计数法,保留了两位小数。
实践
此处根据以上分析内容得到以下代码:
#include<stdio.h>
void main() //读取一个浮点数,先打印成小数点形式,再打印成指数形式。然后,如果系统支持,再打印成p记数法(即十六进制记数法)。
{
float a;
printf("Enter a floating-point value:");
scanf("%f",&a);
printf("fixed-point notation:%.6f\n",a);
printf("exponential notation:%.6le\n",a);
printf("p notation:%.2a\n",a);
}
运行结果

到此为止,此题结束。
本人于2023年3月11日20:22:05实践并撰写以上内容,特与此记录并分享。
© 版权声明
文章版权归作者所有,如需转载请联系作者。若文章内容侵犯了您的权益,请通过网站底部联系方式联系我们处理(本站具有最终解释权)。如有不便之处,敬请谅解。
THE END
暂无评论内容