编写程序并完成上机调试实现以上功能要求

在主程序中以自己的姓名拼音的英文字母初始化一个my _name字符数组,并编写排序函数void sort(char *p,int n),n为数组元素个数,在主程序中调用sort函数,并输出排序后的数组元素。编写程序并完成上机调试实现以上功能要求。-注:需要程序框图、代码清单、注释。(希望有人可以answer一下me)

我的思路是:
1、字符数组初始化为姓名字符串
2、调用sort函数排序这个字符串
3、sort函数用两个for循环逐一比较字符数组前面的字符和后面字符的ASCII码大小,如果前面的比后面的大,则交换他们的位置,从而达到排序字符数组元素的目的
4、打印结果。
代码如下:


#include <stdio.h>
#include <string.h>

void sort(char *p,int n){
    
    int i,j;

    
    char temp;
    for(i=0;i<n-1;i++){
        
        for(j=i;j<n;j++){
            
            if(strcmp(p+i,p+j)>0){  //如果指针前面位置的字符的ASCII码比后面的大,则交换他们 
                temp = *(p+i);
                *(p+i)=*(p+j);
                *(p+j) = temp;
            }
        }
    }
    
} 

int main(void){
    
    char my_name[20] = "xiaohua";  
    
    //strlen计算字符串的长度 ,传入sort函数 
    sort(my_name,strlen(my_name)); 
    
    printf("%s\n",my_name);
} 

img