#include"stdio.h" char ch[]

#include"stdio.h"
char ch[]={'q','A','S','O','R','T','E','X','A','M','P','L','E'};
int n=12;
void shift(intk,intn)
{
	char v;
	int j;
	v=ch[k];j=k+k;
	while(j<=n)
	{
		if((j<n)&&(ch[j]<ch[j+1])) j++;
		if(v<ch[j])
		{
			ch[j/2]=ch[j];j*=2;
		}
		else
		return;
		ch[j/2]=v;
	}
}
void hpsrt(void)
{
	int k;
	char tmp;
	for(k=n/2;k>0;k--)shift(k,n);/* 建堆 */
	printf("No.1:");
	for(k=1;k<=n;k++)putchar(ch[k]);
	putchar('\n');
	for(k=n;k>0;k--)
	{
	tmp=ch[1];ch[1]=ch[k];ch[k]=tmp;
	shift(1,k-1);
	}
}
int main()
{
	int k;
	hpsrt();
	printf("No.2:"); 
	for(k=1;k<=n;k++)putchar(ch[k]);
	putchar('\n');
}

输出: ___________

答案
第1空:No.1:XTORSEAAMPLE No.2:AAEELMOPRSTX

题目信息

题号:6508
题型:填空题
难度:普通