实现两位数精度
#include<stdio.h> double sqrtss(double src) { double mid,low,high; low = 0.0; if(src>1.0) high = src; else high = 1.0 ; mid = (low + high)/2.0; while(1) { if((src - mid*mid)<EPSION&&(src - mid*mid)>-EPSION) return mid; if(src > mid*mid) low = mid; else high = mid; mid = (high + low)/2.0; } } int main() { float src; while(~scanf("%f",&src)) { printf("%.6f ",sqrtss(src*1.0)); } return 0; }