1.字符數組的升序降序排列和打印
#include <stdio.h>
void bubble_sort(char s[],int n,int flag);
void output_array(char s[],int n);
int main( )
{
char a[7]={'g','f','e','d','c','b','a'};
char b[7]={'h','i','j','k','l','m','n'};
bubble_sort(a,7,1);
output_array(a,7);
printf("\n***********\n");
bubble_sort(b,7,0);
output_array(b,7);
return 0;
}
void bubble_sort(char s[],int n,int flag)
{
int i,j;
char tmp;
if(flag)
{
for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++)
{
if(s[j]>s[j+1])
{
tmp = s[j];
s[j] = s[j+1];
s[j+1] = tmp;
}
}
}
}
else
{
for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++)
{
if(s[j]<s[j+1])
{
tmp = s[j];
s[j] = s[j+1];
s[j+1] = tmp;
}
}
}
}
}
void output_array(char s[],int n)
{
int i;
for(i=0;i<n;i++)
printf("%c>",s[i]);
}