用C语言编程:求1!+4!+7!+....+(3n+1)!的和。要求n从键盘输入(n〈10)。最好是用fot结构

最好用for结构

第1个回答  2010-04-29
#include <stdio.h>
main()
{
int i,j,t,n;
long s=0;
printf("输入n:\n");
scanf("%d",&n);
for(i=0;i<=n;i++)
{
t=1;
for(j=1;j<=3*i+1;j++)
t*=j;
s+=t;
}
printf("和s为:%ld\n",s);

}本回答被提问者采纳
第2个回答  2010-04-29
/*采用WIN-TC编绎器*/
#include <stdio.h>
main()
{
int a=1,b=1,sum=0,n;/*sum为1!+2!+3!....n!的和*/
printf("输入一个数,求它递增阶乘的和:");
scanf("%d",&n);
do
{
b=a*b;
sum=sum+b;
++a;
}
while(a<=n);
printf("递增阶乘的和为:%d",sum);
getch();
}
(2)
用FOR语句
#include <stdio.h>
main()
{
int a=1,b=1,sum=0,n;/*sum为1!+2!+3!....n!的和*/
printf("输入一个数,求它递增阶乘的和:");
scanf("%d",&n);
for(;a<=n;a++)
{
b=b*a;
sum=sum+b;
}
printf("递增阶乘的和为:%d",sum);
getch();
}
第3个回答  2010-04-29
int main()
{
int n,i;
double result=1.0,mul=1.0;//结果result和阶乘的mul要用double,20!足够把long int溢出,int类型不适用
scanf("%d",&n);
for(i=3;i<=3*n;i+=3)
{
mul*=(i-1)*i*(i+1);//阶乘结果每次只乘3个数,每次从头乘起浪费计算机处理时间,不被笑作低能程序才怪
result+=mul;
}
printf("%.0lf",result);
return 0;
}
第4个回答  2010-04-29
给你一个最简洁的代码,绝对正确,可以自行验证
#include "stdio.h"

void main()
{
int i,j,n,m,s,sum=0;
printf("input n=");
scanf("%d",&n);
for(i=0;i<=n;i++)
{
for(m=3*i+1,s=1;m>0;m--)s*=m;//求阶乘
sum+=s;//求和
}
printf("\nsum=%d\n",sum);
}
第5个回答  2010-04-29
//以下代码已通过编辑 不过是用C++写的
#include<iostream>
using namespace std;

void main()
{
int n,sum=0,mult;
cout<<"Input an integer please: ";
cin>>n;
for (int i=0;i<=n;i++)
{
mult=1;
for (int j=3*i+1;j>0;--j)
{
mult*=j;
}
sum+=mult;
}
cout<<sum<<endl;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网