写一函数,对输入的10个字符按由小到大排序,用指针作参数。
#include <stdio.h>
void sort(char* p,int n)
{
int i,j;
char ch;
for (i=0;i<n-1;i++)
{
for (j=0;j<n-1-i;j++)
{
if(*(p+j) > *(p+j+1))
{
ch = *(p+j);
*(p+j) = *(p+j+1);
*(p+j+1) = ch;
}
}
}
}
int main()
{
char buf[12]={0};
gets(buf);
sort(buf,10);
printf("%s",buf);
return 0;
}
用冒泡排序法就行了,参数用char*
#include <stdio.h>
#include <string.h>
void sorts(char *p)
{
int i,j;
char c;
int n = strlen(p);
for(i=0;i<n-1;i++)
for(j=0;j<n-i-1;j++)
{
if(p[j] > p[j+1])
{
c = p[j];
p[j] = p[j+1];
p[j+1] = c;
}
}
}
int main()
{
char a[100];
gets(a);
sorts(a);
printf("%s",a);
return 0;
}