【程序填空】下面的程序是求1!+3!+5!+……+n!的和,程序中有4个 空,填空使程序完整。

/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

题目:下面的程序是求1!+3!+5!+……+n!的和,程序中有4个
空,填空使程序完整。

-------------------------------------------------------*/

main()
{
long int f,s;
int i,j,n;
/***********SPACE***********/
【?】
scanf("%d",&n);
/***********SPACE***********/
for(i=1;i<=n; 【?】)
{
f=1;
/***********SPACE***********/
for(j=1; 【?】;j++)
/***********SPACE***********/
【?】
s=s+f;
}
printf("n=%d,s=%ld\n",n,s);
}

答案:

空1:s=0;

空2:for(i=1;i<=n; i+=2)

空3:for(j=1;j<=i;j++)

空4:f*=j;

变量在定义后,里面的值不一定是0,不同的电脑系统值是不一样的,所以空1要先对s初始化,赋初值0。

程序中的i是用来标志式中的1、3、5.....这些数字都有一个特性,后裔隔壁前一个加2,所以空2天上for(i=1;i<=n; i+=2)

由于阶乘是从1累乘到数本身,所以阶乘的判断条件是j<=i,及第三空为:for(j=1;j<=i;j++)。

由于阶乘是一个累乘,所以第四空用f*=j;

完整的代码及vc6.0的运行如下图:

扩展资料:

对于看结果补充程序的题目,答题技巧很重要,总结了三步走的经验:

第一步对题目深入理解,分析需要用到的变量。

第二步先不看给出的代码,根据题目要求自己大概书写一遍实现的代码。

第三步看代码题目代码,并知道每个变量的作用。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-24
1、 s = 0; //初始化结果为0;
2、 i = i + 2 // 实现带有阶乘的数是奇数
3、 j<=i //运算阶乘的条件
4、 f *= j //运算阶乘本回答被提问者采纳
第2个回答  2020-12-09

相似回答