编写一个C语言程序,读入一个浮点数,并分别以小数形式和指数形式输出
时间: 2024-09-20 09:01:30 浏览: 56
在C语言中,你可以使用`scanf`函数读取浮点数,然后使用`printf`函数以不同的格式输出。下面是一个简单的示例,展示了如何完成这个任务:
```c
#include <stdio.h>
#include <math.h> // 需要包含math库以便使用pow函数
int main() {
float num; // 定义一个浮点型变量用于存储输入值
const int precision = 6; // 输出的小数位数
printf("请输入一个浮点数: ");
scanf("%f", &num); // 从用户输入读取浮点数
// 小数形式输出
printf("小数形式: %.0lf (保留整数部分), %.%df (保留精度)", num, precision);
// 指数形式输出
if (fabs(num) > 0.000001) { // 如果数值非零且接近于零,避免使用科学计数法
char sign = num > 0 ? '+' : '-'; // 正负号
double exponent = log10(fabs(num));
long long int int_part = (long long int) floor(exponent);
printf("\n指数形式: %.*e (%s%.0le)", precision, num, sign, int_part);
} else {
printf("\n指数形式: %.1e (非常接近于0)", num);
}
return 0;
}
阅读全文