The solution which I presented just now works perfectly fine on the live editor of Matlab, but don't know why math works still say it is incorrect?
use fix instead of floor or ceil command
Test  Status  Code Input and Output 

1  Fail 
x = 8.8;
y_correct = 8;
assert(isequal(round_zero(x),y_correct))
x =
8

2  Fail 
x = 8.8;
y_correct = 8;
assert(isequal(round_zero(x),y_correct))
x =
8

3  Fail 
x = 0.8;
y_correct = 0;
assert(isequal(round_zero(x),y_correct))
x =
0

4  Fail 
x = 0.4;
y_correct = 0;
assert(isequal(round_zero(x),y_correct))
x =
0

5  Fail 
x = 0;
y_correct = 0;
assert(isequal(round_zero(x),y_correct))
x =
0

6  Fail 
x = eps;
y_correct = 0;
assert(isequal(round_zero(x),y_correct))
x =
0

7  Fail 
x = pi;
y_correct = 3;
assert(isequal(round_zero(x),y_correct))
x =
3

Compute a dot product of two vectors x and y
624 Solvers
Change the sign of even index entries of the reversed vector
200 Solvers
253 Solvers
319 Solvers
Matrix of almost all zeros, except for main diagonal
119 Solvers