填空题 请补充main()函数,该函数的功能是求出1!+2!+3!+4!…+N!的和。
例如,1!+2!+3!+4!+…+9!=409113。
注意:部分源程序给出如下。
仅在横线上填写所需要的若干表达式或语句,请勿改动函数中的其他任何内容。
试题程序:
#include<stdio.h>
void main()
{
int i, n;
long sum=0, temp=1;
printf("/nInput n: /n");
scanf("%d", 1);
for(i=1; i<=n; i++)
{
temp= 2;
sum= 3;
}
printf("1!+…+%d!=%1d/n", n, sum);
}
【正确答案】
【答案解析】&n temp*i sum+temp [解析] 该题中函数功能是求得题干中给出的数列值。解题过程,首先计算数列中每一项的值,然后对数列中有限项累加求和。
第一空:根据提示语句“printf("/nInput m: /n");”,知道第一空是获得由键盘输入的n,所以根据C语言中的输入语句,第一空填“&n”。
第二空:根据“temp=1”语句中temp的初始化,知道temp用来存放阶乘,也就是数列的每一项,所以第二空填“temp*i”。
第三空:同理可知sum用来存放数列的和,所以第三空填“sum+temp”。