#include<stdio.h>  
int main()
{
    int n, i;
    long long m = 1, s = 0;
    scanf("%d", &n);
    for (i = 1; i <= n; i++)
    {
        m *= i;
        s += m;
    }
    printf("%lld", s);
    return 0;
}


这题可能一直答案错误,然后找不出来。很多程序可能都是对的,也可以运行。但这边主要考验一个输出格式的点。

%d 有符号32位整数

%lld 有符号64位整数

%llx有符号64位16进制整数

%u 无符号32位整数


点赞(42)
 

0.0分

16 人评分

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

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

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

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

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

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

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

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

评论列表 共有 16 条评论

狗蛋子 3年前 回复TA
0的阶乘是1出题人没有考虑到,而且很多人的代码也没有考虑
#include<stdio.h>
#include<string.h>
#include<math.h>

int main()
{
    int a;
    scanf("%d",&a);
    long long int b=1,c=0;
    if(a==0)
        c=1;
    for(int i=1; i<=a; i++)
    {
        b*=i;
        c+=b;
    }
    printf("%lld",c);
}
菜鸡学编程 5年前 回复TA
@kunkun1314 输出格式不对
华农赵子龙 5年前 回复TA
@helloxkcd 请问一下哪里不能运行了?
DoctorWho 6年前 回复TA
@三日月夜空 20 的阶乘 int 存不下。
helloxkcd 6年前 回复TA
你确定这个程序能运行?连作用域都没弄清楚
NiKlous 6年前 回复TA
@wanda 题目有隐含条件,20的阶乘是很大的数
Top001 7年前 回复TA
@三日月夜空 楼主说了,编译器数据存储格式不对,t和sn应该是long long型数据;啃爹啊,我刚开始也是,始终找不到为啥错了 VC6上边是正确的 这边复制过来就是编译错误
ocean 7年前 回复TA
#include <stdio.h>
long long Recursion(int n){
	if(n<=1)
		return 1;
	else
		return n*Recursion(n-1);
}
int main(){
	int n,i;
	long long result=0;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
		result+=Recursion(i);
	printf("%lld\n",result);
	return 0;
}
kunkun1314 7年前 回复TA
@kunkun1314 我这个怎么错了啊
kunkun1314 7年前 回复TA
#include <stdio.h>
int main()
{
    double i,j,n,sum,t=0;
    scanf("%lf",&n);
        for(j=1;j<=n;j++)
        {
        sum=1;
        for(i=1;i<=j;i++)
        {
            sum=sum*i;
        }
        t=t+sum;
        }
        printf("%.0lf",t);
        return 0;
}