#include<stdio.h>
//冒泡排序
void bubble_sort(int a[],int n)
{
int i,j,temp;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}
int main()
{
int n;
int a[10000];//定义数组用于存放树的最高生长
int index=0;//定义最大存放数量
int x;
//输入树的数量
scanf("%d",&n);
//求树的最高生长,观察可知树的最高生长成对称,且每棵树的生长最高等于它自身之后的所有数木个数×2
//下面循环求前面一半的高度
for(int i=n;i>n/2;i--)
{
x=(i-1)*2;
if(index<10000)
{
a[index++]=x;
printf("%d\n",x);
}
}
//a[index]是从大到小进行排序,利用冒泡排序将其从小到大排序
bubble_sort(a,index);
//输出时,要注意如果树的总数是个数则是围绕中间数进行对称的,所以输出时要分情况,当树的总数是奇数时要从第二个数开始输出也就是a[1],偶数时从第一个数输出
if((index+n/2)%2!=0)
{
for(int q=1;q<index;q++)
printf("%d\n",a[q]);
}
if((index+n/2)%2==0)
{
for(int c=0;c<index;c++)
printf("%d\n",a[c]);
}
return 0;
} 0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复