标签:des style blog http color os io java ar
题目:
Description
Input
Output
Sample Input
Sample Output
1 #include <iostream> 2 #include <cstdio> 3 4 using namespace std; 5 6 int main(){ 7 int t; 8 double a; 9 cin>>t; 10 while(t--){ 11 double sum = 0; 12 for(int i = 0;i < 12; i++){ 13 cin>>a; 14 sum+=a; 15 } 16 sum/=12; 17 int zhangjie = (int)(sum * 1000); 18 zhangjie+=5; 19 zhangjie/=10; 20 sum=zhangjie/100.0; 21 if((int)(sum*100)%10!=0) 22 printf("$%.2lf\n",sum); 23 else if((int)(sum*10)%10!=0) 24 printf("$%.1lf\n",sum); 25 else printf("$%.0lf\n",sum); 26 } 27 return 0; 28 };
int zhangjie = (int)(sum * 1000);
zhangjie+=5;
zhangjie/=10;
运算的结果是要求保留到小数点后两位,然后当然它就是和小数点的后三位是相关连的。我们先将结果*1000后取整,相当于将后面所有的部分全部的给去掉。然后的加五是为了实现四舍五入的效果。最后的除法也是为了去掉最后一位。在这里最关键的一点就是要十分的清楚,int和除法这两种操作都是直接的将最后面的部分给去掉。
然后就是在实现浮点数四舍五入的过程中,有函数ceil和函数floor可以实现的,int round(double x)
{
return (x - floor(x) >= 0.5) ? (int)ceil(x) : (int)floor(x);
}
标签:des style blog http color os io java ar
原文地址:http://www.cnblogs.com/tianxia2s/p/3959318.html