救救孩子吧,c语言题目

定义一个函数求n!,再在主函数中通过调用该函数计算:1!+3!+5!+。。。+(2n-1)!

    public int 求阶层(int n) {//这个是求n!的函数
        int a = 1;
        for (int i = 1; i <= n; i++) {
            a = a * i;
        }
        print(a);//a就是你要求的n!
        return a;
    }
    public void main(int n) {
        int a = 0;
        for (int i = 1; i <=n; i++) {
            a += 求阶层 (2 * i - 1);
        }
        print(a);//a就是你要求的1!+3!+5!+。。。+(2n-1)!
    }

我不是纯c语言编程  只能给你提供一个思路  你看看这样行么

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-12-11
#include<stdio.h>
int calc(int num){
if(num==1){
return 1;
}else{
return num*calc(num-1);
}
void main(){
int num,sum=0,i;
printf("请输入一个数:");
scanf("%d",&num);
while(num<1||num>20){
printf("你输入的数字有误!\n\n");
printf("请输入一个数:");
scanf("%d",&num);
}
}
for(i=1;i<=num;i+=2){
sum+=calc(i);
}
printf("%d\n",sum);
}
第2个回答  2018-12-11
#include<stdio.h>int Calc(int nResult[],int len,int nNumb);void main(){ int nResult[128]={0}; //定义一个长度为512的数组用于保存结果 int len=1 ; //长度定义? nResult[0]=1; //数组第一个元素赋值为1 for(int i=2;i<=10;i++){ //阶乘计算 len=Calc(nResult,len,i);//递归 由长度len得len } for(int i=len-1;i>=0;i--){ printf("%d",nResult[i]); } printf("\n"); getchar(); return;}int Calc(int nResult[],int len,int nNumb){ int i,rem=0; for(i=0;i<len;i++){ rem+=nResult[i]*nNumb; nResult[i]=rem%10; rem=rem/10; } while(rem>0){ nResult[len]=rem%10; len++; rem=rem/10; } return len;}
第3个回答  2018-12-11
如此简单的题目,还要求助。
你还是自生自灭吧,,,
第4个回答  2018-12-11
public int fuck(int n){
if(n==1||n==0)
return 1;
return n+fuck(n-1);
}
public int motherfuck(int n){
if(n==1||n==0)
return 1;
return fuck(2*n-1)+motherfuck(n-2);
}
我学JAVA的不知道这个行不行手打的没测试过
相似回答