1、键盘输入一个实数; 2、输出这个实数整数部分的十进制、八进制、十六进制; 3、输出这个实数小数部分的标准形式、指数形式。使用c语言
时间: 2024-09-30 18:05:07 浏览: 4
在C语言中,你可以使用`<stdio.h>`库来进行输入和输出操作,包括处理浮点数。以下是一个简单的程序,它会接收用户输入的一个实数,然后分别输出它的整数部分和小数部分的不同表示形式:
```c
#include <stdio.h>
#include <math.h> // 需要包含math.h头文件来使用pow函数获取指数
// 函数声明
void printDecimal(int num);
void printOctal(int num);
void printHexadecimal(int num);
void printStandardForm(double num);
void printExponentialForm(double num);
int main() {
double input;
// 输入实数
printf("请输入一个实数:");
scanf("%lf", &input);
// 分离整数和小数部分
int integerPart = (int)input; // 整数部分
double fractionalPart = input - integerPart; // 小数部分
// 输出整数部分
printf("十进制:%d\n", integerPart);
printOctal(integerPart); // 自定义八进制输出
printHexadecimal(integerPart); // 自定义十六进制输出
// 输出小数部分标准形式和指数形式
printf("小数部分(标准形式):%.15f\n", fractionalPart);
printf("小数部分(指数形式):%.15e\n", fractionalPart);
return 0;
}
// 辅助函数定义
void printDecimal(int num) {
printf("八进制:%o\n", num);
}
void printOctal(int num) {
printf("八进制:%o\n", num);
}
void printHexadecimal(int num) {
printf("十六进制:%X\n", num);
}
void printStandardForm(double num) {
printf("标准形式:%.15f\n", num);
}
void printExponentialForm(double num) {
printf("指数形式:%.15e\n", num);
}
```
注意,这里为了简单起见,八进制和十六进制的转换直接使用了`%o`和`%X`这样的格式化字符串。如果你需要更复杂的转换,可能需要额外编写一些自定义函数。