题目:计算s=2^2!+3^2!(计算s=2平方!+3平方!)
首先:
“!”在高等数学里是阶乘的意思,例如:!4==4*3*2*1
思路:
其实就是函数调用嵌套,先编写两个函数。
一个是用来计算平方值的square函数
一个是用来将计算阶乘值的factorial函数
过程:
1、主函数main先调用 square函数 计算出平均值
2、在square函数中以“平方值”为实参,调用 factorial函数 计算其阶乘值,然后返回square中
3、最后返回主函数
程序代码:
#include<stdio.h>
long square(int p);
long factorial(int q);
int main()
{
int i,s=0;
for(i=2;i<=3;i++) //因为计算 s=2^2!+3^2! 数值只有2跟3,所以i=2、3
{
s = s + square(i); //调用 square() 函数求“平方值”
}
printf("s的值为: %ld \n",s);
}
long square(int p) // p=i,将上面的i赋值给p
{
int x;
int y;
//这边是为了看得更加清晰,也可写成int x,y;
x = p*p; //计算p的平方
y = factorial(x); //调用 factorial() 函数 求"阶乘"
return(y); //将y的值范围到 上面的 square(i)中
}
long factorial(int q) // q=k,将上面的k值赋值给q
{
int z = 1;
int k = 1;
for(z=1;z<=q;z++)
{
k *= z; // k =k*z;
}
return(k);
}