第一种方法
#include <stdio.h>
int main(){
int arr[]={3,4,5};
int len = sizeof(arr)/sizeof(int);
for(i=0;i<len;i++){
int jiche = 1;
int j;
for(j=1;j<=arr[i];j++){
jiche *= j;
}
sum += jiche;
}
printf("%d\n",sum);
return 0;
}
思路:
-
#include <stdio.h>
: 这是一个预处理指令,用于包含标准输入/输出头文件,使得可以使用诸如printf
之类的函数。 -
int main(){
: 这是main
函数的开始,它是程序的入口点。 -
int arr[]={3,4,5};
: 这声明并初始化了一个整数数组arr
,其中包含值3、4和5。 -
int len = sizeof(arr)/sizeof(int);
: 这通过将数组的总大小除以单个元素的大小来计算arr
数组的长度。由于arr
是一个整数数组,所以使用整数的大小来计算。 -
for(i=0;i<len;i++){
: 这是一个for循环,初始化i
为0,并在i
小于len
的情况下继续循环。每次迭代后,i
会增加1。 -
int jiche = 1;
: 这声明并初始化了一个变量jiche
,赋值为1。这个变量将用于存储阶乘的结果。 -
int j;
: 这声明了一个变量j
,将用于内层循环的计数。 -
for(j=1;j<=arr[i];j++){
: 这是一个for循环,初始化j
为1,并在j
小于等于arr[i]
的情况下继续循环。每次迭代后,j
会增加1。 -
jiche *= j;
: 这将当前的jiche
与j
相乘,并将结果赋值回jiche
。这实际上是计算了arr[i]
的阶乘。 -
sum += jiche;
: 这将当前的jiche
的值加到sum
上,并将结果赋值回sum
。这实际上是计算了所有阶乘的和。 -
printf("%d\n",sum);
: 这使用printf
函数将sum
的值打印到控制台。格式字符串%d
用于格式化整数值,\n
用于在值之后打印一个换行符。 -
return 0;
: 这个语句将值0作为main
函数的退出状态返回,表示程序成功终止。
第二种方法
#include <stdio.h>
jiche(int n){
int val = 1;
for(i=1;i<=n;j++){
val*=i;
}
return val;
}
int main(){
int arr[]={3,4,5};
int len = sizeof(arr)/sizeof(int);
int sum = 0;
for(i=0;i<len;i++){
int zhi = jiche(arr[i]);
sum += zhi;
}
printf("sum=%d\n",sum);
return 0;
}
思路:
-
#include <stdio.h>
: 这是一个预处理指令,用于包含标准输入/输出头文件,使得可以使用诸如printf
之类的函数。 -
jiche(int n){
: 这是一个函数定义的开始,定义了一个名为jiche
的函数,接受一个整数参数n
,并没有指定返回类型。该函数用于计算n
的阶乘并返回结果。 -
int val = 1;
: 这声明并初始化了一个变量val
,赋值为1。这个变量将用于存储阶乘的结果。 -
for(i=1;i<=n;j++){
: 这是一个for循环,初始化i
为1,并在i
小于等于n
的情况下继续循环。每次迭代后,i
会增加1。 -
val*=i;
: 这将当前的val
与i
相乘,并将结果赋值回val
。这实际上是计算了n
的阶乘。 -
return val;
: 这个语句将val
的值作为jiche
函数的结果返回。 -
int main(){
: 这是main
函数的开始,它是程序的入口点。 -
int arr[]={3,4,5};
: 这声明并初始化了一个整数数组arr
,其中包含值3、4和5。 -
int len = sizeof(arr)/sizeof(int);
: 这通过将数组的总大小除以单个元素的大小来计算arr
数组的长度。由于arr
是一个整数数组,所以使用整数的大小来计算。 -
int sum = 0;
: 这声明并初始化了一个变量sum
,赋值为0。这个变量将用于存储阶乘的和。 -
for(i=0;i<len;i++){
: 这是一个for循环,初始化i
为0,并在i
小于len
的情况下继续循环。每次迭代后,i
会增加1。 -
int zhi = jiche(arr[i]);
: 这调用jiche
函数,将arr
数组的第i
个元素作为参数,并将返回值赋给变量zhi
。 -
sum += zhi;
: 这将zhi
的值加到当前的sum
值上,并将结果赋值回sum
。这实际上是计算了阶乘的和。 -
printf("sum=%d\n",sum);
: 这使用printf
函数将sum
的值打印到控制台。格式字符串%d
用于格式化整数值,\n
用于在值之后打印一个换行符。 -
return 0;
: 这个语句将值0作为main
函数的退出状态返回,表示程序成功终止