点赞(2)
 

0.0分

141 人评分

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

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

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

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

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

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

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

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

评论列表 共有 96 条评论

无名小卒 12月前 回复TA
#include<stdio.h>
int main()
{
    int Sum=2,Sn=0,i=0;
int n,x=1;
	scanf("%d",&n);
	for(i=1;i<=n;i++){
	    Sn += Sum;
	    x *= 10;
	    Sum = Sum+2*x;
	}
	printf("%d\n",Sn);
}
CoCo 1年前 回复TA
@notshine @dotcpp0741845 因为for循环的条件是i<n,在i<n时才会执行循环体,i==n时循环结束
IKIGAI 1年前 回复TA
@浮生若梦 @dotcpp0713316 感谢!
dotcpp0741845 1年前 回复TA
@notshine 为什么我for循环的条件是i==n就不会进入循环了?有点没明白
notshine 1年前 回复TA
#include<stdio.h>
int main()
{
    int n;
    int x=0,Sn=0;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        x=2+x*10;
        Sn=Sn+x;
    }
    printf("%d",Sn);
}
算是我觉得比较简单的解法了
Lingxici074 1年前 回复TA
@浮生若梦 sum*=10用来进位,sum+=2*(i+1)用来累加,从0开始:先进位,sum=0,再累加sum =0+2; 进位sum=20,累加sum=20+4=24;sum=240,sum=240+6;以此类推。
1年前 回复TA
@23计科2班044张佳慧 因为你定义an的时候忘记给an赋初值了,用VS运行的时候肯定会提示你an没有初始化。int an=0;这样就好了
1年前 回复TA
@浮生若梦 @uq_10695051456 意思就是先求sum=sum*10,再由这个式子求出的sum值带入sum=sum+2*(i+1)中计算,最后得出sum值
远榐 1年前 回复TA
@木头人 你这是面向结果编程【手动狗头】
浮生若梦 1年前 回复TA
@浮生若梦 所以sum是同时满足这两个条件嘛