嗨,我使用此代碼高斯消除方法。當我使用這種算法的第二種形式時,我沒有得到正確的結果,但是在兩種情況下代碼都是相同的。所以 爲什麼這個工程:C - 二維數組
for(k = 0 ; k < (n-1) ; k++) {
for(i = k ; i < (n-1) ; i++) {
temp = a[i+1][k]/a[k][k]; //Why?
for(j = k ; j < n ; j++) {
a[i+1][j] -= a[k][j] * temp;
}
}
}
,這不起作用:
for(k = 0 ; k < (n-1) ; k++) {
for(i = k ; i < (n-1) ; i++) {
for(j = k ; j < n ; j++) {
a[i+1][j] -= a[k][j] * a[i+1][k]/a[k][k];
}
}
}
在第二種情況下,首先發生乘法運算,然後結果分割。 –
訂單優先權圖表:http://www.swansontec.com/sopc.html 從左至右依次爲:在您的情況下,乘法首先發生,然後是除法運算符。 –