标题:新手小白求解n的阶乘之和的问题!
只看楼主
anmi夏轩
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2020-6-26
结帖率:66.67%
已结贴  问题点数:20 回复次数:2 
新手小白求解n的阶乘之和的问题!
新手小白求解n的阶乘之和的问题!当输入n为6时,结果为什么是1!+2!+…+6!=8?
using System;

namespace 实验EX1_1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入正整数n");
            String str = Console.ReadLine();
            int n = Convert.ToInt32(str);
            int sum = 0,i,j;
            for (i = 1; i <= n; i++) ;
            {
                int flag = 1;
                for (j = 0; j <= i; j++) ;
                {
                    flag *= j;
                }
                sum += flag;
            }
            Console.WriteLine("1!+2!+...+{0}!={1}", n, sum);
            Console.ReadLine();
        }
    }
}
搜索更多相关主题的帖子: flag 之和 sum 阶乘 Console 
2020-09-15 21:43
八画小子
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:705
专家分:2043
注 册:2010-11-11
得分:20 
首先,这个是C#问题,所以你问错地方了。
其次,你的代码中存在一个语法错误和一个逻辑错误。
语法错误:for循环那两行的后面是不应该加分号的,除非你确定你需要这么做,但你的代码显然不需要。
逻辑错误:在计算阶乘的时候,j的初始值应该从1开始,而非0开始。

程序代码:
static void Main(string[] args)
        {
            Console.WriteLine("请输入正整数n");
            String str = Console.ReadLine();
            int n = Convert.ToInt32(str);
            int sum = 0, i, j;
            for (i = 1; i <= n; i++)
            {
                int flag = 1;
                for (j = 1; j <= i; j++)
                {
                    flag *= j;
                }
                sum += flag;
            }
            Console.WriteLine("1!+2!+...+{0}!={1}", n, sum); 
            Console.ReadLine();
        }
2020-09-15 22:24
anmi夏轩
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2020-6-26
得分:0 
回复 2楼 八画小子
我知道了,谢谢!
2020-09-15 22:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-503160-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.269024 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved