遍历点
#include<stdio.h>
#include<string.h>
int main(){
char m[100],n[100];
while(~scanf("%s %s",m,n)){
int i,j,lc[100];
int len1=strlen(m);
int len2=strlen(n);
memset(lc,0,sizeof(lc));
for(i=0;i<len1;i++){
for(j=0;j<len2;j++){
lc[i+j] += (m[len1-1-i]-'0')*(n[len2-1-j]-'0');
}
}
for(i=0;i<len1+len2;i++){//大数乘法的算法
if(lc[i]>=10){
lc[i+1] += lc[i]/10;
lc[i] %= 10;
}
}
while(lc[i]==0){
i--;
}
while(i>=0){
printf("%d",lc[i]);
i--;
}
if(m[len1-1]%2==0 || n[len2-1]%2==0){
printf(".00\n");
}else{
printf(".41\n");//根号2 -1 0.41
}
}
return 0;
}