如果WA#1,大概率是你先进行了除法后进行if的判断,而除法有可能会除以0导致浮点错误
错误版本(除以a[i][i],此时a[i][i]是0):
for(int j = n + 1; j >= i; j--) a[i][j] /= a[i][i];
if(fabs(a[i][i]) < eps)
{
cout<<"No Solution";
return 0;
}
正确版本:
if(fabs(a[i][i]) < eps)
{
cout<<"No Solution";
return 0;
}
for(int j = n + 1; j >= i; j--) a[i][j] /= a[i][i];