HDU 4493 Tutor 水题的收获。。

时间:2023-03-09 07:03:24
HDU 4493 Tutor 水题的收获。。

题目: http://acm.hdu.edu.cn/showproblem.php?pid=4493

题意我都不好意思说,就是求12个数的平均数。。。

但是之所以发博客,显然有值得发的。。。

这个题最坑的地方就是结果精确到便士,也就是小数点后2位,不输出后缀0,所以需要处理一下输出格式。

一开始我是用c语言这样写的:

 #include <stdio.h>
#include <string.h> int main()
{
int t;
scanf("%d", &t);
while(t--)
{
double x, sum = ;
for(int i = ; i < ; i++)
{
scanf("%lf", &x);
sum += x;
}
char str[];
sprintf(str, "%.2lf", sum/12.0);
int len = strlen(str);
while(str[len-] == '')
len--;
if(str[len-] == '.')
len--;
str[len] = ;
printf("$%s\n", str);
}
return ;
}

C语言版

总感觉硬生生的修改字符数组不舒服,不便于封装,然后发现了java的DecimalFormat类,这个类很强大,可以定义浮点数输出格式,直接就能A掉这一题,所以记录一下,以免日后忘了。

 import java.text.DecimalFormat;
import java.util.Scanner; public class Main {
private static Scanner input;
public static void main(String[] args){
input = new Scanner(System.in);
int t;
DecimalFormat f = new DecimalFormat("#.##"); t = input.nextInt();
while(t-- > 0) {
double x, sum = 0;
for(int i = 0; i < 2; i++) {
x = input.nextDouble();
sum += x;
}
System.out.println('$' + f.format(sum / 2.0));
}
}
}

Java版