C语言初阶牛客网刷题—— HJ34 图片整理【难度:中等】

1. 题目描述

牛客网在线OJ链接

Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过C语言解决。

输入描述:Lily使用的图片包括 "A" 到 "Z" 、 "a" 到 "z" 、 "0" 到 "9" 。输入字母或数字个数不超过 1024 。

输出描述:Lily的所有图片按照从小到大的顺序输出
示例:

输入:Ihave1nose2hands10fingers

输出:0112Iaadeeefghhinnnorsssv

2. 思路

每个 ascii 字符在内存都有一个对应的 ascii 值,通过内存中数据的存储进行排序就行。

使用冒泡排序:相邻数据之间进行比较交换,将较大或较小的数据向后推到数组末尾,然后开始下一轮次的排序。

3. 代码实现

c 复制代码
#include <stdio.h>
#include<string.h>
int main() {
    char str[1024] = {0};
    while (gets(str)) {
        int len = strlen(str);
        for (int i = 0; i < len; i++) {
            for (int j = 1; j < len - i; j++) {
                if (str[j] < str[j - 1]) {
                    char ch = str[j - 1];
                    str[j - 1] = str[j];
                    str[j] = ch;
                }
            }
        }
        printf("%s\n", str);
    }
    return 0;
}
相关推荐
liu****15 分钟前
4.基础开发工具(一)
linux·开发语言·1024程序员节
文火冰糖的硅基工坊15 分钟前
[人工智能-大模型-72]:模型层技术 - 模型训练六大步:①数据预处理 - 基本功能与对应的基本组成函数
开发语言·人工智能·python
小龙报20 分钟前
《C语言疑难点 --- 字符函数和字符串函数专题(上)》
c语言·开发语言·c++·算法·学习方法·业界资讯·visual studio
凭君语未可24 分钟前
深度解析Java的多态特性
java·开发语言
趙小贞31 分钟前
字符设备驱动开发流程与实战:以 LED 驱动为例
linux·c语言·驱动开发
csbysj202035 分钟前
DTD 元素:XML 与 SGML 文档结构解析指南
开发语言
傻童:CPU1 小时前
C语言练习题
c语言·开发语言
极地星光1 小时前
协程:实战与系统集成(高级篇)
开发语言
0和1的舞者1 小时前
《Git:从入门到精通(八)——企业级git开发相关内容》
大数据·开发语言·git·搜索引擎·全文检索·软件工程·初学者
liulilittle2 小时前
LwIP协议栈MPA多进程架构
服务器·开发语言·网络·c++·架构·lwip·通信