编写程序,从键盘输入一个不等于0的浮点数,然后分别输出这个浮点数的符号、整数部分和小数部分。 输入格式: 浮点数 输出格式: Sign:-或+ Integral part: Decimal fraction part:保留3位小数(用C语言)
时间: 2024-10-18 07:19:45 浏览: 44
在C语言中,你可以使用`scanf`函数从键盘获取输入的浮点数,然后通过判断符号、取整和取余数操作来分解它。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h> // 使用ctype_h库处理字符
int main() {
float num;
char sign;
printf("请输入一个不等于0的浮点数:");
scanf("%f", &num);
// 检查是否为0
if (num == 0) {
printf("输入错误,浮点数不能为0。\n");
return 1;
}
// 获取符号
if (num > 0) {
sign = '+';
} else {
sign = '-';
}
// 取整数部分
int integral_part = (int) num; // 整数除法会自动截断小数部分
// 取小数部分并保留3位
float decimal_fraction = modf(num, &integral_part); // modf函数返回小数部分
decimal_fraction *= 1000; // 将小数扩大1000倍以便保留三位小数
decimal_fraction = floor(decimal_fraction + 0.5); // 向下取整,保证四舍五入到最近的整数
decimal_fraction /= 1000; // 再次缩小1000倍恢复原大小
printf("Sign:%c\n", sign);
printf("Integral part:%d\n", integral_part);
printf("Decimal fraction part:%.3f\n", decimal_fraction);
return 0;
}
```
阅读全文
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20250102104920.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)