#include <stdio.h>
int main(void)
{
int a[]={9,2,1,0,5};
int b[]={6,7,8,4,3};
int c[10];
int i,j;
for(i=0;i<5;i++)
{
c[i]=a[i];
c[i+5]=b[i];
}
for(i=0;i<10;i++)
printf("%d",c[i]);
for(i=0;i<10;i++)
for(j=i+1;j<11;j++)
if(c[i]<c[j])
{
c[i]^=c[j];
c[j]^=c[i];
c[i]^=c[j];
}
printf("\n");
for(i=0;i<10;i++)
printf("%d",c[i]);
return 0;
}
//合并静态数组并排序升级版,用字符串来进行数组排序!
//(有缺陷,因为编码的关系排序数列中不能含有空格!)
#include <stdio.h>
#define N 11 //为什么这里长度为11?
int main(void)
{
char a[]= "92105" ;
char b[]={"67843"};//上下两个的区别?()
char c[N]={'\0'} ;//为什么需要初始化为{'\0'}?
int i,j;
puts(a);puts(b);
//**********将数组a,b合并到c**********
for(i=0;i<5;i++)
{
c[i] = a[i];
c[i+5] = b[i];
}
//**********打印输出C**********
puts(c);
//**********冒泡排序**********
for(i=0;i<N;i++)
for(j=i+1;j<=N;j++)
if(c[i]<c[j])
c[i]^=c[j]^=c[i]^=c[j];//特殊的异或交换
/*
相当于下面的交换情况
c[i]^=c[j]; TEMP=c[j];
c[j]^=c[i]; c[i]=c[j];
c[i]^=c[j]; c[i]=TEMP;
*/
//**********打印输出排序后的C**********
puts(c);
return 0;
}