哪位厉害的程序员可以帮我解一下

产生3个小于10的 随机数,计算他们阶乘的和;计算阶乘编作一个函数。显示成下列形式,如:6!+0!+2!=723   请填空。(提示:小于10随机函数为rand()%10)
int f(int m)   /计算阶乘的函数/
{int i,jc=1;
for(i=1;i<=__①__;i++)
jc*=i;
return jc;
}
main()
{int i,a[3],s=0;
for(i=0;i<3;i++)
{a[i]=(rand()%10);     /将3个随机产生的数据送入数组/
s+=f(__②__);     /调用阶乘函数,并累加其返回值/
}
for(i=0;i<3;i++)        /按要求的格式输出/
printf("%d!+",a[i]);
printf("__③__=%d",s); /去掉最后的+号/
}

填空如下:
(1) m
(2) a[i]
(3) \b

如有帮助,请帮忙采纳一下,谢谢。