#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、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复