c语言输出浮点数的符号、整数部分和小数部分编写程序,从键盘输入一个不等于0的浮点数,然后分别输出这个浮点数的符号、整数部分和小数部分。例如输入-123.456,输出应该是(
时间: 2024-12-25 16:23:47 浏览: 4
在C语言中,你可以使用`<stdio.h>`库中的函数来实现这个功能。首先,你需要获取用户的输入,并判断其符号。接着,可以使用`fprintf`函数将输入的浮点数分解为整数部分和小数部分。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <math.h>
void print_float_parts(double num) {
// 判断符号
int sign = (num > 0) ? 1 : ((num < 0) ? -1 : 0);
char* prefix = sign == 1 ? "+" : "";
// 输出整数部分
printf("%s", prefix); // 先打印符号
if (fabs(num) >= 1.0) { // 如果不是小数
int integer_part = (int) num; // 取整
printf("%d", integer_part); // 打印整数部分
}
// 输出小数部分
double fractional_part = fmod(fabs(num), 1.0); // 计算小数部分
if (fractional_part != 0) {
printf(".%0.*f", (int) floor(log10(fractional_part) + 1), fractional_part);
}
}
int main() {
double input;
printf("请输入一个不等于0的浮点数: ");
scanf("%lf", &input);
if (input != 0) {
print_float_parts(input);
} else {
printf("错误:输入不能为零。\n");
}
return 0;
}
```
当你运行这个程序并输入-123.456时,输出会是`-123.456`。
阅读全文