
C++求1!+2!+3!+4!+……+20!的值
#include<iostream.h>voidmain(){inta,b,sum=0,c;for(a=1;a<=20;a++)for(b=1;b<a;b++)c=a*b...
#include<iostream.h>
void main()
{
int a,b,sum=0,c;
for(a=1;a<=20;a++)
for(b=1;b<a;b++)
c=a*b;
sum+=c;
cout<<sum<<endl;
}
这样写为什么不对
你们给的调试后都是不同的答案,有的还是负数,拜托调试好了再发给我好吗? 展开
void main()
{
int a,b,sum=0,c;
for(a=1;a<=20;a++)
for(b=1;b<a;b++)
c=a*b;
sum+=c;
cout<<sum<<endl;
}
这样写为什么不对
你们给的调试后都是不同的答案,有的还是负数,拜托调试好了再发给我好吗? 展开
展开全部
阶乘20数值太大,超出整型允许范围,用double:
#include <iostream>
using namespace std;
void main()
{
double a,b,sum=0,c;
c = 1;sum=1;
for (a=2;a<=20;a++)
{
c = c*a; // 单项递推计算
sum = sum + c;
}
cout<< fixed << sum<<endl;
}
#include <iostream>
using namespace std;
void main()
{
double a,b,sum=0,c;
c = 1;sum=1;
for (a=2;a<=20;a++)
{
c = c*a; // 单项递推计算
sum = sum + c;
}
cout<< fixed << sum<<endl;
}
展开全部
#include<iostream.h>
using namespace std; //加上这一句,命名空间,这个是必须的。
void main()
{
int a,b,sum=0,c;
for(a=1;a<=20;a++)
{ c=1; //关键在这里。。
for(b=1;b<a;b++)
c=a*b;
sum+=c;
}
cout<<sum<<endl;
}
using namespace std; //加上这一句,命名空间,这个是必须的。
void main()
{
int a,b,sum=0,c;
for(a=1;a<=20;a++)
{ c=1; //关键在这里。。
for(b=1;b<a;b++)
c=a*b;
sum+=c;
}
cout<<sum<<endl;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
{
int a,b,sum=0,c;
for(a=1;a<=20;a++){
c=1;
for(b=1;b<a;b++){
c=c*b;
}
sum+=c;
}
}
前面回答的 都懂不懂C啊,虽然我也不是很懂,一看就知道前面的是错误的。
int a,b,sum=0,c;
for(a=1;a<=20;a++){
c=1;
for(b=1;b<a;b++){
c=c*b;
}
sum+=c;
}
}
前面回答的 都懂不懂C啊,虽然我也不是很懂,一看就知道前面的是错误的。
更多追问追答
追问
你给的调试后是负数啊!
追答
{
int a,b,sum=0,c;
for(a=1;a<=20;a++){
c=1;
for(b=1;b<=a;b++){
c=c*b;
}
sum+=c;
}
}
把第二个for中b<a改成b<=a。加到20的阶层 已经越界了 int改成long就可以了
结果是2561327494111820313
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<iostream.h>
void main()
{
int a,b,sum=0,c;
for(a=1;a<=20;a++)
{
c=1;
for(b=1;b<a;b++)
c=a*b;
sum+=c;
}
cout<<sum<<endl;
}
没计算一个数的阶乘的时候c的值应该赋为1
void main()
{
int a,b,sum=0,c;
for(a=1;a<=20;a++)
{
c=1;
for(b=1;b<a;b++)
c=a*b;
sum+=c;
}
cout<<sum<<endl;
}
没计算一个数的阶乘的时候c的值应该赋为1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ng namespace std;
void main()
{int i=1,sum=0;
do
{sum=sum+i;
i++;}while(i<=100);
cout<<sum<<endl;
}
结果为5050
#include "iostream"
using namespace std;
void main()
{int i=1,j,sum=0;
while(i<=100)
{sum=sum+i;
i++;}
cout<<sum<<endl;
}
区别不大,一个是先做了循环体在判断条件,一个是先判断循环条件再做循环条件
void main()
{int i=1,sum=0;
do
{sum=sum+i;
i++;}while(i<=100);
cout<<sum<<endl;
}
结果为5050
#include "iostream"
using namespace std;
void main()
{int i=1,j,sum=0;
while(i<=100)
{sum=sum+i;
i++;}
cout<<sum<<endl;
}
区别不大,一个是先做了循环体在判断条件,一个是先判断循环条件再做循环条件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询