在主程序中以自己的姓名拼音的英文字母初始化一个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无用
悬赏问题
- ¥20 测距传感器数据手册i2c
- ¥15 RPA正常跑,cmd输入cookies跑不出来
- ¥15 求帮我调试一下freefem代码
- ¥15 matlab代码解决,怎么运行
- ¥15 R语言Rstudio突然无法启动
- ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
- ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
- ¥15 用windows做服务的同志有吗
- ¥60 求一个简单的网页(标签-安全|关键词-上传)
- ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法