Gmomotdly260 2022-06-19 10:41 采纳率: 100%
浏览 25
已结题

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

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

  • 写回答

1条回答 默认 最新

  • a5156520 2022-06-19 11:09
    关注

    我的思路是:
    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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 6月27日
  • 已采纳回答 6月19日
  • 创建了问题 6月19日

悬赏问题

  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程