我有這段代碼來計算二叉樹主分支之間的差異,重要的是最後一個。調試我得到最後一個表達式:當浮點數小於1時,函數返回0
return difRama/total;
這將始終返回0和1之間的小數,以百分比表示。 我得到這樣的情況:
- 回報5月15日
回報十分之四
float Arbol::diferenciaRamas(pnodo rama1, pnodo rama2){ int total, difRama, pesoIzq, pesoDer; /* Calculamos pesos rama izq yder*/ pesoIzq = pesoRamificaciones(rama1); pesoDer = pesoRamificaciones(rama2); /* Diferencia de peso entre ramas */ difRama = abs(pesoIzq - pesoDer); /* Total de peso del arbol */ total = (pesoIzq+pesoDer); /* Si el total es 0 o la diferencia es 0 */ if(total == 0 || difRama == 0) return 0; /* Porcentaje de diferencia */ return difRama/total; }
的問題是,該函數總是返回0,任何想法?
在C++中,如何使用結果不會影響它的計算方式。你的函數返回一個'float'不會改變'difRama/total'的計算方式。 –