写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。
数据范围:保证输入的数字在 32 位浮点数范围内
输入一个正浮点数值
输出该数值的近似整数值
5.5
6
0.5>=0.5,所以5.5需要向上取整为6
2.499
2
0.499<0.5,2.499向下取整为2
#include <stdio.h> #include <math.h> int main() { float a=0; float b=0; scanf("%f",&a); if(a<=0) return 0; b=fmod(a,1.0); //记录小数位值 if(b<0.5){ printf("%.0f",a-b); //小数位小的,舍去 }else{ printf("%.0f",a-b+1); //小数位大的,进位 } return 0; }
#include <stdio.h> int main() { float a; int b; scanf("%f", &a); b=a; if((a-(float)b)>=0.5) { b++; } printf("%d\n", b); return 0; }
#include<stdio.h> #include<ctype.h> int main() { float num; int tem; scanf("%f",&num); tem=(int)(num); num-=tem; if(num>=0.5) printf("%d",tem+1); else printf("%d",tem); return 0; }
#include <stdio.h> int main() { float f_num; scanf("%f", &f_num); printf("%d", (int)(f_num + 0.5)); // 加0.5取整 } // 64 位输出请用 printf("%lld")