一个金字旁一个田:c语言 高手

来源:百度文库 编辑:中科新闻网 时间:2024/04/30 03:07:49
有c言语高手吗??

求阶乘的和! 2!+4!+6!+..+16! 用do while 和for语句怎么求啊 ???

我想了1天了。。还会是不会啊 。。哈哈

main()
{
int i,j;
int sum,s;
sum=0;s=1;
for(i=2;i<=16;i++)
{
for(j=1;j<=i;j++)
s=s*j;
sum=sum+s;
s=1;
}
printf("%d",sum);
getch();
}

while的差不多,改下循环结构就可以了,这种知道循环次数的一般用for循环
另外这个程序可以改成函数调用的

6 16

main()
{
int i,j;
int sum,s;
sum=0;s=0;
for(i=2;i<=16;i++)
{
for(j=i;j<=i;j++)
s=s*j;
sum=sum+s;
i++;
}
printf("%d",sum);
}

我改了一下

16!这个书需要自造数据类型!先有数据类型放不下的

16!是大数了
用double可以
main()
{
int i,j;
double sum,s;
sum=0;s=0;
for(i=2;i<=16;i+=2){
for(j=2;j<=i;j++)
s*=j;
sum=sum+s;
}
printf("%d",sum);
}
main()
{
int i=2,j;
double sum,s;
sum=0;s=0;
while(i<=16){
j=2;
while(j<=i){
s*=j;
++j;
}
sum=sum+s;
i+=2;
}
printf("%d",sum);
}

怎都放主函数中完成了,用调用函数啊,呵呵
#include"stdio.h"
main()
{long n=5;
long sum1;
long jiecheng(int i);
sum1=jiecheng(n);
printf("%ld\n",sum1);
}

long jiecheng(int i)
{long j,k,m=1;
long sum=0;
for(j=1;j<=i;j++)
{for(k=j;k>=1;k--)
m*=k;
sum+=m;
m=1;
}
return sum;
}
这个程序中,n 的值大于等于8就会发生溢出错误了, 所求的值超出了整形数的范围了,我也不知道该怎么改,我知道就这么多了,如果你知道也麻烦你说一声,呵呵