在主程序中以自己的姓名拼音的英文字母初始化一个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); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥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节点的搭建代码和那个端口代码教程