问题
填空题
请补充main 函数,该函数的功能是:求n!
例如7!=5040。
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在 main 函数的横线上填入所编写的若干表达式或语句。
试题程序:
# include<stdio. h>
#include<conio. h>
main()
int i,n;
long f=1;
clrscr ();
printf("Input n: ");
scanf ("%d", 【1】 );
for( 【2】 ;i<=n; i++)
【3】 ;
printf ("%d!=%1d\n", n, f);
答案
参考答案:[1] &n [2] i=1或i=2 [3] f*=i
解析:填空1:本题考查对调用标准输入函数scanf()的掌握,地址列表中都是地址值,所以在变量名前要加上取址运算符&。填空2:n的阶乘是将1、2、3……n累积相乘,所以for 循环中i从1开始取数。但因为1乘以任何数都等于这个数本身,所以地可以从2开始取数。填空3:掌握了阶乘的算法,这空就非常简单了。