两道C语言题目,编程实现。1.求8的阶乘。2.求1到8的阶乘和。

如题所述

1~8的阶乘

#include<stdio.h>
void main()
{
int i,j,m;
long int sum;
for(i=1;i<=8;i++)
{
m=1;
sum=0;
for(j=1;j<=i;j++)
{
m=m*j;
}
sum+=m;
printf("%d!=%ld\n",i,sum);
}
}
8的阶乘:
#include<stdio.h>
void main()
{
int i,j=1;
for(i=1;i<=8;i++)
{
j=j*i;
}
printf("8!=%d\n",j);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-09
8的阶乘
/////////////////////////
#include<iostream>
using namespace std;
int main()
{
int totle = 1;
for (int i = 1;i <= 8;i++)
{
totle*=i; //totle=totle*i;
}
printf("8的阶乘=%d",totle);
system("pause");
return 0;
}
///////////////////////////////
1到8的阶乘和 数字太大可能会超出int的范围可以用double
//////////////////////////////
#include<iostream>
using namespace std;
int main()
{
doubletmp = 0,totle = 1;
for (int i = 1; i <= 8; i++)//i从1到8
{
for (int j = 1; j <= i; j++)//算出i的阶乘
{
totle*=i;//totle=totle*i;
}
tmp+=totle;//累加
}
printf("1~8的阶乘和=%.0f",tmp);
system("pause");
return 0;
}
///////////////////////////////
第2个回答  2013-04-09
#include <stdio.h>
main()
{
int n=8;
int s=1,f=1,sum=0;
for(int i=1;i<=n;i++)
s=s*i;
for(i=1;i<=n;i++)
{
f=f*i;
sum=sum+f;
}
printf("%d %d\n",s,sum);
}
//这样可以吗? 要不要分开来写?本回答被提问者采纳
第3个回答  2013-04-09
#include<stdio.h>
int main()
{
int n;
float t=1;
float s=0.0;
for(n=1;n<=8;n++)
{
t=t*n;
s+=t;
}
printf("%f",s);
return 0;
}

#include<stdio.h>
long fun(int i)
{
long sum;
if(i==0)
sum=1;
else
sum=i*fun(i-1);
return sum;
}
int main()
{
int n;
long s;
printf("请输入一个数字:");
scanf("%d",&n);
s=fun(n);
printf("%ld\n",s);
return 0;
}
第4个回答  2013-04-09
void main()

{
int i;
int temp=1;
for(i=1;i<=8;j++)
{
temp=temp*i;
}
printf("8的阶乘是:%d",temp);
}

void main()
{
int sum=0;
int i,j;
for(i=1;i<=n;i++)
{
int temp=1;
for(j=1;j<=i;j++)
{
temp=temp*j;
}
sum=sum+temp;
}
printf("1到8的阶乘和是:%d",sum);

}

相关了解……

你可能感兴趣的内容

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