用C#编写程序:1!+2!+3!+4!+······20!的和

用C#编写程序... 用C#编写程序 展开
 我来答
zhangvsshao
2012-01-03
知道答主
回答量:4
采纳率:0%
帮助的人:3.4万
展开全部
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

/*用C#编写程序:1!+2!+3!+4!+······20!的和
*/
namespace Jiecheng
{
class Program
{
private int num; //限制的数
private int sumt,sum; //sumt存储每个数的阶乘,sum用来存储每个数的阶乘的和
public Program(int num)
{
this.num = num;
}
public void Sum() {
int temp=1;
for (int i = 1; i <= num; i++) //外层循环
{
temp = 1;
for (int j = 1; j <= i; j++) //内层循环,计算每个数的阶乘
{
temp = temp * j;
sumt = temp;
temp = sumt;

}
sum = sum + sumt;
}

Console.WriteLine("{0}的阶乘的和为:{1}",num,sum);
}
static void Main(string[] args)
{
Program p = new Program(20);
p.Sum(); //调用类的方法
Console.ReadLine();
}
}
}
在vs2010下调试通过。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
季默茗夜0Z
2012-01-03
知道答主
回答量:23
采纳率:100%
帮助的人:25.8万
展开全部
。。。这样的题肯定是二重循环啦。
代码如下:
public void cal(){
int a=1,sum=0;
for(int i=1;i<21;i++){
a=i; //初始化a的值
for(int j=i;j>=1;j--){
a*=j;
}
sum+=a;
}
}

最后你再打印一下sum的值就可以了 ,你可以粘贴去试试看。反正一重循环的肯定是错的。
一楼那个太高深了- -!! pow(float x,float y)不是x的y次幂么。。。。
然后c=pow(-1,a-1);得出的是一个1跟-1循环的数。。。
我想知道你回答的是不是楼主想问的题- -#。。。绕死人了还没看出是不是符合民意的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
llq6llq
2012-01-03 · TA获得超过1106个赞
知道小有建树答主
回答量:104
采纳率:0%
帮助的人:137万
展开全部
using System;
using System.Collections.Generic;
using System.Text;

namespace Temp
{
class Program
{
static void Main(string[] args)
{
double num = 0;
for (int i = 1; i <= 20; i++)
{
num += aFun(i);
}
Console.WriteLine(new StringBuilder().Append('-', 30));
Console.WriteLine(num);
Console.ReadKey();
}

static double aFun(int a)
{
if (a < 0) return -1.0;
else
{
double result = 1.0;
while (a-- > 1) result *= a;
Console.WriteLine(result);
return result;
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
PCFAN9999
2012-01-03 · TA获得超过3683个赞
知道小有建树答主
回答量:1553
采纳率:50%
帮助的人:544万
展开全部
int sum=0;
int p=1;
for (int n=1; n<21; n++)
{
p*=n;
sum+=p;
}
writeln(" sum= {0} " , sum);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
anITbird
2012-01-03 · TA获得超过317个赞
知道小有建树答主
回答量:297
采纳率:0%
帮助的人:258万
展开全部
#include<stdio.h>
#include<math.h>
main()
{double a,s,c,y,sum=0;
do
{s=a*a;
c=pow(-1,a-1);
y=c*s;
sum=sum+y;
a++;
}while(a<=20);
prinff("%.0f",sum);
}
追问
using System;
using System.Collections.Generic;
using System.Text;

namespace jiec
{
class Program
{
static void Main(string[] args)
{
int i;
double a=1,n=0;
for(i=1;i<=20;i++)
{
a*=i;
n+=a
}
Console .WriteLine ();
}
Console.Read ();
}
}
}
这个程序对吗?我用c#
追答
循环的部分应该是这样的
for(int i=1;i=1;j--){
a*=j;
}
n+=a;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式