请懂c语言的朋友吗帮我看看这个程序呀

longf1(intp){intk;longr;longf2(int);k=p*p;r=f2(k);returnr;}longf2(intq){longc=1;inti;... long f1(int p)
{
int k;
long r;
long f2(int);
k=p*p;
r=f2(k);
return r;
}
long f2(int q)
{
long c=1;
int i;
for(i=1;i<=q;i++)
c=c*i;
return c;
}
main()
{
int i;
long s=0;
for (i=2;i<=3;i++)
s=s+f1(i);
printf("\ns=%ld\n",s);
}
展开
 我来答
pengxuan321
2007-11-08 · TA获得超过406个赞
知道小有建树答主
回答量:137
采纳率:0%
帮助的人:0
展开全部
以下给出部分说明:

#include <stdio.h>/*应为使用到基本输出,所以最好加头文件*/
long f1(int p)
{
int k;
long r;
long f2(int); /*函数声明*/
k=p*p;
r=f2(k); /*以k为形参,调用函数f2()*/
return r; /*返回r的值给主函数*/
}
long f2(int q)
{
long c=1;
int i;
for(i=1;i<=q;i++) /*FOR循环*/
c=c*i; /*累乘*/
return c; /*返回c的值给函数f1()中的r*/
}
main()
{
int i; /*定义一个整型数i*/
long s=0; /*定义一个长整型数s,并且赋值为0*/
for (i=2;i<=3;i++) /*当i等于2和3的时候分别执行一次循环,共2次*/
s=s+f1(i); /*以i为形参,调用f1()函数,返回值和s累加*/
printf("\ns=%ld\n",s); /*输出s的值*/
}
yiouzhou
2007-11-08 · TA获得超过435个赞
知道小有建树答主
回答量:381
采纳率:0%
帮助的人:402万
展开全部
少了头文件#include<stdio.h>
其他没错啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tzd19860212
2007-11-08 · TA获得超过278个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:0
展开全部
//求形参p的平方的阶乘,
long f1(int p)
{
int k;
long r;
long f2(int); //这句话没有用,多余
k=p*p;
r=f2(k);
return r;
}

//求形参q的阶乘
long f2(int q)
{
long c=1;
int i;
for(i=1;i<=q;i++)
c=c*i;
return c;
}
main()
{
int i;
long s=0;
for (i=2;i<=3;i++)
s=s+f1(i); //得到的值是:2的平方的阶乘 + 3的平方的阶乘
printf("\ns=%ld\n",s);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wrgljylys
2007-11-08 · TA获得超过389个赞
知道小有建树答主
回答量:89
采纳率:0%
帮助的人:161万
展开全部
这是函数嵌套调用。
main()调用f1(),f1调用f2()
其中f2()表示对参数进行阶乘即返回q的阶乘值
f1()表示将参数p平方后调用阶乘函数。
main()中的s表示对结果的累加。
故最后得出的结果s=0+(2*2)!+(3*3)!=4!+9!=362904;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
花开与花落
2007-11-08 · TA获得超过205个赞
知道小有建树答主
回答量:448
采纳率:0%
帮助的人:200万
展开全部
#include <stdio.h>/*应为使用到基本输出,所以最好加头文件*/
long f1(int p)
{
int k;
long r;
long f2(int); /*函数声明*/
k=p*p;
r=f2(k); /*以k为形参,调用函数f2()*/
return r; /*返回r的值给主函数*/
}
long f2(int q)
{
long c=1;
int i;
for(i=1;i<=q;i++) /*FOR循环*/
c=c*i; /*累乘*/
return c; /*返回c的值给函数f1()中的r*/
}
main()
{
int i; /*定义一个整型数i*/
long s=0; /*定义一个长整型数s,并且赋值为0*/
for (i=2;i<=3;i++) /*当i等于2和3的时候分别执行一次循环,共2次*/
s=s+f1(i); /*以i为形参,调用f1()函数,返回值和s累加*/
printf("\ns=%ld\n",s); /*输出s的值*/
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
软件xiaoy
2007-11-09
知道答主
回答量:12
采纳率:0%
帮助的人:0
展开全部
都说了,我就不说了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式