another option is to use Manipulate (added Print to get the data also)
ClearAll[y, x, z];
eqns = {y'[x] == x^2 y[x], z'[x] == 5 z[x]};
sol = First@DSolve[eqns, {y[x], z[x]}, x];
Manipulate[
Module[{sol0, p1, p2, opt, ydata, zdata},
opt = {GridLines -> Automatic, GridLinesStyle -> LightGray,
ImageSize -> 300, BaseStyle -> 12};
sol0 = sol /. {C[1] -> c1, C[2] -> c2};
Print[sol0];
p1 = Plot[{y[x] /. sol0}, {x, 0, xMax}, AxesLabel -> {"x", "y(x)"},
Evaluate@opt, PlotStyle -> Red];
p2 = Plot[{z[x] /. sol0}, {x, 0, xMax}, AxesLabel -> {"x", "z(x)"},
Evaluate@opt];
ydata = Table[{i, (y[x] /. sol0 /. x -> i)}, {i, 0, xMax, 0.01}];
zdata = Table[{i, (z[x] /. sol0) /. x -> i}, {i, 0, xMax, 0.01}];
Print[ydata];
Print[zdata];
Grid[{{p1, p2}}]
]
,
{{xMax, 0.8, "max x"}, 0.01, 1, .01, Appearance -> "Labeled"},
{{c1, 0.05, "c1"}, -1, 1, .01, Appearance -> "Labeled"},
{{c2, 0.6, "c2"}, -1, 1, .01, Appearance -> "Labeled"},
TrackedSymbols :> {c1, c2, xMax}
]