编程来计算(1)*(1+2)*(1+2+3)*...*(1+2+3....10)的乘积,并输出其值

c语言的
谢啦

第1个回答  2011-06-17
怎么回答的都!一点不负责任啊!#include<stdio.h>
int main()
{
int i,s=0,num=10;
double sum=1;
for(i=1;i<=num;i++)
{
s+=i;
sum*=s;
}
printf("%.0f\n",sum);
return 0;
}
结果是141455160000、就行了、没那么复杂!本回答被提问者和网友采纳
第2个回答  2011-06-17
#include<stdio.h>
int main()
{
int i,s=0,num=10;
double sum=1;
for(i=1;i<=num;i++)
{
s+=i;
sum*=s;
}
printf("%.0f\n",sum);
return 0;
}
答案是:141455160000 楼上答案显然不对,因为要乘上(1+2+3+4)=10,不会是各位为2.
第3个回答  2011-06-17
楼上的太复杂了,用不着这么复杂。
#include <iostream>
int main()
{
int j=0;
double k=1;
for(int i=1;i<=10;i++)
{
j += i;
k *= j;
}
printf("%.0f\n",k);
return 0;
}
执行结果:
141455160000

PS:
如果想扩充点,可以将最后加到的数10做成变量,可由键盘随意输入一个整型值。例如输入10就得到你要的结果了,同上面一样:141455160000
#include <iostream>
#include <string>
namespace std{};
using namespace std;
int main()
{
int m;
cin >> m;
int j=0;
double k=1;
for(int i=1;i<=m;i++)
{
j += i;
k *= j;
}
printf("%.0f\n",k);
return 0;
}
哎....不好意思,k声明的精度问题,很是奇怪啊,float和double最后计算出来的值不一样。
第4个回答  2011-06-18
#include<stdio.h>
int sum(int n)
{
int i,m=0;
for(i=1;i<=n;i++)
m+=i;
return m;
}
double mul(int n)
{
if(n==1)
return n;
else
return sum(n)*mul(n-1);
}
int main()
{
int m;
scanf("%d",&m);
printf("%.0lf\n",mul(m));
system("pause");
return 0;
}
你输入10就行了,当然,你要可以直接赋值m=10;希望能帮到你!
第5个回答  2011-06-17
什么语言。追问

c语言
求助,谢啦

追答

楼上的就可以

相关了解……

你可能感兴趣的内容

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