点赞(1)
 

0.0分

36 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 38 条评论

Ruanyuhui 6月前 回复TA
#include<stdio.h>
int main()
{
    int n,i,m;
    long long sn=0,j;
    scanf("%d",&n);
    for(i=0;i<=n;i++){
        j=1;
        for(m=0;m<i;m++){
            j*=(m+1);
        }
        sn+=j;
    }
    printf("%lld",sn);
    return 0;
}有没有大佬帮忙看看为什么答案错误呀
编程者 8月前 回复TA
@林邑人学编程 虽然定义fact,Sn, 但没有赋值。(个人理解)
亮哥丬 9月前 回复TA
@erer 最后的输出格式错误
吊炸天 11月前 回复TA
#include<stdio.h>
int main()
{
    int n,i;
    long long j=1,Sn=0;
    scanf("%d",&n);
    for(i=j;i<=n;i++)
    {
        j*=i;
        Sn+=j;
    }
    printf("%lld",Sn);
    return 0;
}
这个是不是也可以
erer 11月前 回复TA
#include<stdio.h>
int main()
{
	int i, n;
	long long Sn=0,j;
	scanf("%d", &n);
	for (i=1;i<=n;i++)
	{
		j = 1;
		for (int b = 2; b <= i; b++)
		{
			j *= b;
		}
		Sn += j;
	}
	printf("%d", Sn);
	return 0;
}
哪位大佬能解释下为什么答案错误吗?
林邑人学编程 1年前 回复TA
#include<stdio.h>
int main()
{
	long fact,Sn;
	int i,n;
    scanf("%d",&n);
    for(i=0;i<n;i++)
      {
      	fact=fact*i;
      	Sn+=fact;
	  }
	printf("%d",Sn);
	return 0;
}大神帮忙看看,那不对
messiu 1年前 回复TA
@yuling 你把最后的%d改成%ld看看
messiu 1年前 回复TA
@荆棘鸟的呼唤 Sn的数据太大了,超出int的最大范围里,改成long long,占位符改成%lld
messiu 1年前 回复TA
@可恶的一号富翁 结果数据太大了,超出double的范围了
可恶的一号富翁 1年前 回复TA
#include <stdio.h>
int main(){
	int n,i,j;
	double m=0,x;
	scanf("%d",&n);
	for(i=1;i<=n;i++){
		x=1;
		for(j=1;j<=i;j++){
			x=x*j;
		}
		m=m+x;
	}
	printf("%.0lf",m);
}
为啥是50分呀?