如题所述
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(int argc, char* argv[])
{
int i;
int f;
puts("Please Enter a float number:");
scanf("%d", &i); //读取整数部分
getchar();//跳过小数点
scanf("%d", &f); //读取小数部分
printf("整数部分: %d 小数部分: %d \n", i, f);
system("pause");
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2019-10-31
思路:
整数部分通过强制转换
例如float f=12.55f;
int x;
x=(int)f;
这里得到的就是12
小数部分:
float s;
s=f-(float)x;
整数部分通过强制转换
例如float f=12.55f;
int x;
x=(int)f;
这里得到的就是12
小数部分:
float s;
s=f-(float)x;
第2个回答 2019-10-31
float x;
int IntegerPart = 0;
float DecimalPart = 0;
scanf("%f",&x);
printf("Integer Part Of x = %d \n",int(x));
printf("Decimal Part Of x = %f \n",x-int(x));
输入15.321
输出15
输出0.321
int IntegerPart = 0;
float DecimalPart = 0;
scanf("%f",&x);
printf("Integer Part Of x = %d \n",int(x));
printf("Decimal Part Of x = %f \n",x-int(x));
输入15.321
输出15
输出0.321
第3个回答 2019-10-31
#include <stdio.h>
int main(){
double x=0;
scanf("%lf", &x);
printf("int=%d and frac=%lf;\n", (int)x, x-(int)x);
}
int main(){
double x=0;
scanf("%lf", &x);
printf("int=%d and frac=%lf;\n", (int)x, x-(int)x);
}