一道简单的C语言题,没有悬赏分,有公德心的帮下忙!谢谢了

2024-12-20 11:51:10
推荐回答(4个)
回答1:

{ long int s,t;

{ float s,t;

for(n=1;n<20;n++)

for(n=0;n<20;n++)

回答2:

n < 20 改为 n <= 20

由于s是long类型,所以输出语句中输出格式应该是"%ld",而不是%e

此题的毛病在于标识行 /*************found**************/ 的位置有问题。

回答3:

第一个错误 long s,t; d
原因:阶乘到后面是一个很大的数 所以要有一个比较大得类型
那么就是Long;
第二个错误是算法错误;
for(n=0;n<20;n++)
原因:如果不改那么S就是 从2开始加而不是从1开始;
所以你也可以这样改:
一开始 int s=1;
后面就是for(n=1;n<20;n++)

回答4:

另一处:
for 语句中的n值应该从0开始,即for(n=0;n<20;n++),不应该从n=1开始;若从1开始的话,就没有1!这一项的啦。