解题思路:
(1)1 3 6 10 15 1+(2)-->3+(3)-->6+(4)-->10+(5)-->15 n=2
1+n(=2)-1=2
(2)2 5 9 14 2+(3)-->5+(4)-->9+(5)-->14 n=3
2+n(=3)-1=4
(3)4 8 13 4+(4)-->8+(5)-->13 n=4
4+n(=4)-1=7
(4)7 12 7+(5)-->12 n=5
7+n(=5)-1=11
(5)11 11
1+(1)-->2+(2)-->4+(3)-->7+(4)-->11
注意事项:
理解n为每行的初始增量
以及每行的初始值p是由p=p-1+(n-1)得到的
参考代码:
#include<stdio.h>
int main()
{
int k,n=2,p=1,temp,i,j,t;
scanf("%d",&k);
for(i=k;i!=0;i--)//确定行数
{
for(j=1,temp=n,t=p;j<=i;j++)//在每一行中,使临时变量temp=n(n为每一行的初始增量),t=p(p为每一行的首值)
{
printf("%d ",t);
t=t+(temp++);//temp的临时变量每次循环+1
}
n++;//每行的初始增量加一
p=p-1+(n-1);//从第二行开始每一行的初始值
}
return 0;
}
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复