c语言循环语句的相关问题

img

img


这样应该是表达为20的阶乘把,为什么结果差距这么大呢,是哪里错了吗?

你得在第8行的for循环前面加一个,single_sum=1,不然后面的循环一直乘的前面的结果
因为求了1的阶乘,就会直接按1的阶乘算2的阶乘,然后又按2的阶乘的结果算3的阶乘,后面都是继续算的,加上一个就可以了

你这个在第12行后面加一个single_sum=1;就可以了