C语言 一堆阶乘的和怎么求?

img

大一新生
不知道bug出在了哪...
测试集一共五个 有一个没过
它还不告诉我为什么不过...

13 行的 print 跑到 if 语句的外面了吧...?

良好的缩进结构有助于排错

1.r 和 s 改成double类型,x比较大时,求阶乘容易超出int的数据范围
2.printf("%d",s)改成printf("%lf",s)