C语言算已知数的数组阶乘

第一种方法

#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;

}

思路:

  1. #include <stdio.h>: 这是一个预处理指令,用于包含标准输入/输出头文件,使得可以使用诸如printf之类的函数。

  2. int main(){: 这是main函数的开始,它是程序的入口点。

  3. int arr[]={3,4,5};: 这声明并初始化了一个整数数组arr,其中包含值3、4和5。

  4. int len = sizeof(arr)/sizeof(int);: 这通过将数组的总大小除以单个元素的大小来计算arr数组的长度。由于arr是一个整数数组,所以使用整数的大小来计算。

  5. for(i=0;i<len;i++){: 这是一个for循环,初始化i为0,并在i小于len的情况下继续循环。每次迭代后,i会增加1。

  6. int jiche = 1;: 这声明并初始化了一个变量jiche,赋值为1。这个变量将用于存储阶乘的结果。

  7. int j;: 这声明了一个变量j,将用于内层循环的计数。

  8. for(j=1;j<=arr[i];j++){: 这是一个for循环,初始化j为1,并在j小于等于arr[i]的情况下继续循环。每次迭代后,j会增加1。

  9. jiche *= j;: 这将当前的jichej相乘,并将结果赋值回jiche。这实际上是计算了arr[i]的阶乘。

  10. sum += jiche;: 这将当前的jiche的值加到sum上,并将结果赋值回sum。这实际上是计算了所有阶乘的和。

  11. printf("%d\n",sum);: 这使用printf函数将sum的值打印到控制台。格式字符串%d用于格式化整数值,\n用于在值之后打印一个换行符。

  12. 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;

}

思路:

  1. #include <stdio.h>: 这是一个预处理指令,用于包含标准输入/输出头文件,使得可以使用诸如printf之类的函数。

  2. jiche(int n){: 这是一个函数定义的开始,定义了一个名为jiche的函数,接受一个整数参数n,并没有指定返回类型。该函数用于计算n的阶乘并返回结果。

  3. int val = 1;: 这声明并初始化了一个变量val,赋值为1。这个变量将用于存储阶乘的结果。

  4. for(i=1;i<=n;j++){: 这是一个for循环,初始化i为1,并在i小于等于n的情况下继续循环。每次迭代后,i会增加1。

  5. val*=i;: 这将当前的vali相乘,并将结果赋值回val。这实际上是计算了n的阶乘。

  6. return val;: 这个语句将val的值作为jiche函数的结果返回。

  7. int main(){: 这是main函数的开始,它是程序的入口点。

  8. int arr[]={3,4,5};: 这声明并初始化了一个整数数组arr,其中包含值3、4和5。

  9. int len = sizeof(arr)/sizeof(int);: 这通过将数组的总大小除以单个元素的大小来计算arr数组的长度。由于arr是一个整数数组,所以使用整数的大小来计算。

  10. int sum = 0;: 这声明并初始化了一个变量sum,赋值为0。这个变量将用于存储阶乘的和。

  11. for(i=0;i<len;i++){: 这是一个for循环,初始化i为0,并在i小于len的情况下继续循环。每次迭代后,i会增加1。

  12. int zhi = jiche(arr[i]);: 这调用jiche函数,将arr数组的第i个元素作为参数,并将返回值赋给变量zhi

  13. sum += zhi;: 这将zhi的值加到当前的sum值上,并将结果赋值回sum。这实际上是计算了阶乘的和。

  14. printf("sum=%d\n",sum);: 这使用printf函数将sum的值打印到控制台。格式字符串%d用于格式化整数值,\n用于在值之后打印一个换行符。

  15. return 0;: 这个语句将值0作为main函数的退出状态返回,表示程序成功终止

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值