c语言奇数阶乘求和

Python023

c语言奇数阶乘求和,第1张

#include<stdio.h>

int fun(int x)//阶乘函数

{

long sum=1

for(int i=1i<=xi++)

sum*=x

return sum

}

int main()

{

int n

long sum=0,s

scanf("%d",&n)

for(int i=1i<=ni++)

{

if(i%2!=0)//奇数判断

s=fun(i)//调用函数

sum+=s//奇数阶乘累加

}

printf("%ld",sum)

return 0

}

不明白你问的问题:奇数的阶乘只是和其他阶乘有一点不同:就是要先判断这个数是不是奇数,是就计算它的阶乘,不是就不算了;#include <stdio.h>void main(){ int n,ilong ss=1printf("请输入一个正整数:\n")scanf("%d",&n)if(n<0) { printf("你输入的不是正整数,输入错误!\n") return} if(n%2==0) { printf("嘿嘿,%d不是奇数,可以偷懒不用算它的阶乘了!\n",n) return} for(i=1i<=ni++) s=s*iprintf("呵呵,%d是奇数呢,它的阶乘是%ld.\n",n,s)}如果你只要求的是比一个数小的所有奇数的阶乘的话,那更简单那!#include <stdio.h>void main(){ int n,ilong ss=1printf("请输入一个正整数:\n")scanf("%d",&n)if(n<0) { printf("你输入的不是正整数,输入错误!\n") return} for(i=1i<=ni=i+2) s=s*iprintf("呵呵,%d它的奇数阶乘是%ld.\n",n,s)}

for(c=1,j=1j<=aj++)

{

c=c*j

d=(-1)*b/c

}

d=d*(-1)

把上面改为:

for(c=1,j=1,n=0j<=aj++)

{

c=c*j

d=*b/c*pow(-1,n++)//自己再定义个n,

}

你写的那个D始终为正;