#include <stdio.h> #include <math.h> int cmp(const void *a,const void *b) { return *(double *)a-*(double *)b; } int main() { int count; int i; double y, x[10]; while(scanf("%d",&count),count)//输入0结束 { y = 1.0;//圆心初始高度为1 for(i=0; i<count; i++) { scanf("%lf",&x[i]);//输入数据 } qsort(x,count,sizeof(x[0]),cmp);//圆心的横坐标从小到大排序 for(i=0; i<count-1; i++) { y = y + sqrt(4 - (x[1+i] - x[i])*(x[1+i] - x[i])/4);//计算高度 } printf("%.4lf %.4lf\n", (x[0] + x[count-1])/2, y); } return 0; }