【题目描述】
读入一个双精度浮点数,分别按输出格式“%f”,“%f”保留5位小数,“%e”和“%g”的形式输出这个整数,每次在单独一行上输出。
【输入】
一个双精度浮点数。
【输出】
第一行是按“%f”输出的双精度浮点数;
第二行是按“%f”保留5位小数输出的双精度浮点数;
第三行是按“%e”输出的双精度浮点数;
第四行是按“%g”输出的双精度浮点数。
【输入样例】
12.3456789
【输出样例】
12.345679
12.34568
1.234568e+001
12.3457
【程序分析】
格式说明符详解:
%f - 默认浮点数格式
-
- 通常保留6位小数
- 会自动四舍五入
- 示例:
12.3456789→12.345679
%.5f - 保留5位小数
-
- 指定精度为5位小数
- 示例:
12.3456789→12.34568
%e - 科学计数法
-
- 格式:
1.234568e+001 - 表示:1.234568 × 10¹
- 通常保留6位有效数字
- 格式:
%g - 自动选择格式
-
- 根据数值大小自动选择
%f或%e - 选择输出长度较短的形式
- 会删除末尾不必要的零
- 示例:
12.3456789→12.3457
- 根据数值大小自动选择
【程序实现】
#include <stdio.h>
int main() {
double num;
scanf("%lf", &num); // 读取双精度浮点数
printf("%f\n", num); // 默认格式输出,通常保留6位小数
printf("%.5f\n", num); // 保留5位小数
printf("%e\n", num); // 科学计数法输出
printf("%g\n", num); // 自动选择%f或%e的较短形式
return 0;
}
5014

被折叠的 条评论
为什么被折叠?



