用C语言编写一个程序,其功能为:从键盘上输入一个浮点数(默认为小数点后6位),然后分别输出该数的整数部分和小数部分。
时间: 2024-09-08 16:01:14 浏览: 98
在C语言中,你可以使用`<stdio.h>`库的`scanf`函数获取用户输入的浮点数,并通过一些基本操作来提取整数部分和小数部分。以下是一个示例程序:
```c
#include <stdio.h>
#include <math.h> // 需要包含math头文件才能使用fabs()函数获取绝对值
int main() {
float input;
printf("请输入一个小数(默认小数点后6位): ");
if(scanf("%f", &input) != 1 || input == INFINITY || input == -INFINITY || isnan(input)) { // 检查是否输入了有效数值
printf("错误:输入无效。\n");
return 1;
}
int integerPart = (int) input; // 整数部分
float fractionalPart = fmod(input, 1); // 小数部分,使用fmod函数取余数得到小数部分
printf("输入的浮点数: %.6f\n", input);
printf("浮点数的整数部分: %d\n", integerPart);
printf("浮点数的小数部分: %.6f\n", fractionalPart);
return 0;
}
```
注意:为了检查输入是否有效,我们使用了`isnan()`和`INFINITY`、`-INFINITY`来检测非数字输入,以及`fmod()`函数来获取小数部分。
如果输入的是`12.345`,那么程序将会输出:
```
输入的小数(默认小数点后6位): 12.345000
浮点数的整数部分: 12
浮点数的小数部分: 0.345000
```
阅读全文