请懂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);
} 展开
{
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);
} 展开
6个回答
展开全部
以下给出部分说明:
#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的值*/
}
#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的值*/
}
展开全部
少了头文件#include<stdio.h>
其他没错啊
其他没错啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//求形参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);
}
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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是函数嵌套调用。
main()调用f1(),f1调用f2()
其中f2()表示对参数进行阶乘即返回q的阶乘值
f1()表示将参数p平方后调用阶乘函数。
main()中的s表示对结果的累加。
故最后得出的结果s=0+(2*2)!+(3*3)!=4!+9!=362904;
main()调用f1(),f1调用f2()
其中f2()表示对参数进行阶乘即返回q的阶乘值
f1()表示将参数p平方后调用阶乘函数。
main()中的s表示对结果的累加。
故最后得出的结果s=0+(2*2)!+(3*3)!=4!+9!=362904;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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的值*/
}
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的值*/
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询