http://acm.hdu.edu.cn/showproblem.php?pid=4493
题意是输入12个数据,让你求平均值,但是要去除尾零,就像100.00只要输出100
其实这题有点不严密,像这组数据
2
100.995
100.995
100.995
100.995
100.995
100.995
100.995
100.995
100.995
100.995
100.995
100.995
输出100,其他可以过的输出100.10以及101都可以
用自己的方法死活不可以过,上网搜了一下,都是各显神通啊,题目也是有点坑
写个题解记录下,也是发现一种方法(+0.005)
遇到题,还是不能急,慢慢想解决办法。。。。。。。。。
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { double n,m,sum; int i,j,t; scanf("%d",&t); while(t--) { sum=0.0; for(i=0;i<12;i++) { scanf("%lf",&n); sum+=n; }//printf("%lf^",sum); sum/=12.0; //sum+=0.005; int data; data=(int)((sum+0.005)*100); int a,b,c; a=(data%10); b=(data/10%10);//printf("%d%d^",a,b); if(a==0&&b==0) printf("$%d ",(int )sum); else if(a==0) printf("$%.1lf ",sum); else printf("$%.2lf ",sum); } return 0; }