使用main函数参数方式,将命令行里所有参数字符串(个数不固定), 按字符串大小重新排序显示出来
1条回答 默认 最新
- &春风有信 2023-12-14 09:20关注
以下是一个C语言程序,使用main函数参数方式,将命令行里所有参数字符串按字符串大小重新排序并显示出来:
#include <stdio.h> #include <string.h> void sort_strings(char *argv[]) { int i, j, n; char *temp; n = argc - 1; // 获取参数字符串个数 // 冒泡排序 for (i = 0; i < n - 1; i++) { for (j = i + 1; j < n; j++) { if (strcmp(argv[i], argv[j]) > 0) { temp = argv[i]; argv[i] = argv[j]; argv[j] = temp; } } } // 输出排序后的字符串 for (i = 0; i < n; i++) { printf("%s\n", argv[i]); } } int main(int argc, char *argv[]) { if (argc < 2) { printf("Usage: %s string1 string2 ...\n", argv[0]); return 1; } sort_strings(argv); return 0; }
这个程序首先定义了一个sort_strings函数,用于对参数字符串进行排序。该函数使用冒泡排序算法对字符串进行排序,然后输出排序后的字符串。
在main函数中,我们首先检查命令行参数是否小于2,如果是,则输出使用说明并退出程序。否则,我们将命令行参数传递给sort_strings函数,并对返回值进行判断,如果返回值为0,则表示程序正常结束。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 校内二手商品转让网站
- ¥20 高德地图聚合图层MarkerCluster聚合多个点,但是ClusterData只有其中部分数据,原因应该是有经纬度重合的地方点,现在我想让ClusterData显示所有点的信息,如何实现?
- ¥100 求Web版SPC控制图程序包调式
- ¥20 指导如何跑通以下两个Github代码
- ¥15 大家知道这个后备文件怎么删吗,为啥这些文件我只看到一份,没有后备呀
- ¥15 C++为什么这个代码没报错运行不出来啊
- ¥15 一道ban了很多东西的pyjail题
- ¥15 关于#r语言#的问题:如何将生成的四幅图排在一起,且对变量的赋值进行更改,让组合的图漂亮、美观@(相关搜索:森林图)
- ¥15 C++识别堆叠物体异常
- ¥15 微软硬件驱动认证账号申请