基于c语言实现 字符串排序

  • 一.简单的字符串排序
  • 举例实现
    • 题目
    • 代码

一.简单的字符串排序

给定有限个字符串,将其按照大小顺序排列。
此时的大小顺序简单来说我们可以先认为是ASCLL码的大小顺序。由此我们只需要比较字符串的ASCLL码的大小即可。

举例实现

题目

本题要求编写程序,读入5个字符串,按由小到大的顺序输出。(pta题目)

输入格式:
输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。

输出格式:
按照以下格式输出排序后的结果:

After sorted:
每行一个字符串

输入样例:
red yellow blue green white

输出样例:
After sorted:
blue
green
red
white
yellow

代码

首先我们要先了解几个string.h库的函数。
1.strcmp<str1,str2> if str1>str2 return 1 str1<str2 return -1 str1=str2 return 0
2.strcpy(a,b) 将b中的内容复制到a中。

#include<stdio.h>
#include<string.h>
#define N  5
int main()
{char a[N][80],b[80];//定义一个二维数组来存放字符串int min=0;//存放最小字符串所在的位置for(int i=0;i<5;i++){scanf("%s",&a[i]); //录入字符串}for(int i=0;i<5;i++)//选择排序   将这几个字符串由小到大排列{min=i;for(int j=i+1;j<5;j++){if(strcmp(a[min],a[j])>0){min=j;//找出本次循环最小的一个}}if(min!=i)//放到开头{strcpy(b,a[min]);strcpy(a[min],a[i]);strcpy(a[i],b);}} printf("After sorted:\n");for(int i=0;i<5;i++){printf("%s\n",&a[i]); }
}

部分细节注释不表,可以自己运行一遍就能了解。

基于c语言实现 字符串排序相关推荐

  1. 【C语言】字符串排序

    文章目录 前言 (一)需要的相关知识 (二)代码实现 (1)指针数组指向的字符串常量 (2)使用二维数组存放字符串 前言 在理解二维数组和数组指针的结合使用.指针数组相关内容后,会更易于理解. (一) ...

  2. c++ 多个字符串排序_RPython Data Science系列:数据处理(5)--字符串函数基于R(一)

    ​0 前言 数据根据结构可以分为结构化数据.非结构化数据和半结构化数据,前面介绍的数据处理函数针对于结构化数据,而字符串通常包含非结构化或者半结构化数据,这一部分介绍一下R和Python中的字符串函数 ...

  3. R语言使用str_order函数和str_sort函数对字符向量进行排序(str_order返回字符串排序的次序值(索引)、str_sort返回排序后的字符串)

    R语言使用str_order函数和str_sort函数对字符向量进行排序(str_order返回字符串排序的次序值(索引).str_sort返回排序后的字符串) 目录

  4. 实现统计一个字符串中的每个单词出现的次数--基于Go语言

    实现统计一个字符串中的每个单词出现的次数–基于Go语言 package mainimport ("fmt""strings" )func main() {//统 ...

  5. c语言排序算法 应用与实现,基于C语言排序算法改进与应用.doc

    基于C语言排序算法改进与应用 基于C语言排序算法改进与应用 摘 要:介绍了程序语言中排序的原理及应用,阐述了基于C语言的三种主要排序方法,提出了每种排序方法的改进,计算出改进后算法的时间复杂度,编写了 ...

  6. c语言几种排序方法的比较,基于C语言的几种排序方法比较.doc

    基于C语言的几种排序方法比较.doc 基于C语言的几种排序方法比较 [摘要]文章对c语言中的冒泡排序法.选择排序法.插入排序法进行比较讨论,以试图找出最佳排序方法. [关键词]c语言;排序方法;比较 ...

  7. 字符串排序-C语言实例

    1.简单的字符串排序 给定有限个字符串,将其按照大小顺序排列.此时的大小顺序简单来说我们可以先认为是ASCLL码的大小顺序.由此我们只需要比较字符串的ASCLL码的大小即可. 2.算法设计 1.输入1 ...

  8. 算法系列—低位优先的字符串排序(基于键索引计数法)

    原理日后有空补上.今天该回宿舍了- - 此版本可实现相同长度的字符串数组,不同长度稍加改动即可. C++代码如下: #include<iostream> #include <stri ...

  9. C语言编程之字符串排序

    问题描述:使用C语言编程实现对字符串排序. 程序源码: #include<stdio.h> void main() { char *str1[20],*str2[20],*str3[20] ...

最新文章

  1. MySql数据库使用入门
  2. EasyOffice-.NetCore一行代码导入导出Excel,生成Word
  3. 达摩院最新AI技术助力天猫双11,提供接近真人的语音交互体验
  4. 【转】类与类之间的常见关系,uml图表示
  5. linux内核disabled,Linux内核关闭IPv6协议的方式
  6. 读《向外行一样思考、像专家一样实践》之 简单、省略、抽象化、例子分析
  7. 鼠标放在一个连接上,会显示图片(类似tooltip)
  8. java编写一个web 留言板_Java Web在线留言板
  9. vue创建项目自定义配置
  10. 日更第7天:Linux常用命令之rm用法
  11. 2021 年第一次做核酸检测是什么体验
  12. 计算机网络技术报告一份,计算机网络技术》实验的报告.doc
  13. WiFi探针可以采集到哪些数据?
  14. 【洛谷 P3191】 [HNOI2007]紧急疏散EVACUATE(二分答案,最大流)
  15. HTML文本域添加滑杆,Objective-C 自定义UISlider滑杆 分段样式
  16. 星际争霸1,如何有效提高apm和hotkey
  17. 解释程序与编译程序的区别
  18. 微信小程序根据sourceMap 定位代码错误位置
  19. 记录一次Win10莫名其妙被植入一个恶意软件
  20. VS2012 处理器架构“x86”不匹配 通过配置管理器更改您的项目的目标处理器架构...

热门文章

  1. 升级linux4.9 故障,CentOS 4升级到4.9
  2. 浅析TypeScript 4.9 satisfies操作符使用方法
  3. JavaWeb开发之——多表查询(21)
  4. iPhone5s配置网易邮箱
  5. BootstrapValidator delay属性无效不管用
  6. 人生不一定有那么多重逢
  7. 华为实验 | 配置 IPv4 静态路由基本功能
  8. Linux如何创建文件在指定的目录?
  9. iphone5运行linux,iphone - 具有Linux和iPhone 5的HFP配置文件 - 堆栈内存溢出
  10. 学院计算机迎新横幅,大学迎新霸气横幅标语