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;
}
相关推荐
动词ing12 分钟前
【学习笔记】C语言(数组指针与指针数组+字符数组+函数+参数传递+字符串作为形参+递归函数+指针函数+回调函数+结构体嵌套+内存动态分配函数)
c语言·笔记·学习
汉字萌萌哒19 分钟前
2024CSP-J入门级C++真题详解
开发语言·c++
arbboter30 分钟前
【网络工具】NetProxy网络代理用户手册
开发语言·网络·c#·网络代理·网络异常·代理工具
汉字萌萌哒1 小时前
2019CCF-CSP入门级C++试题解析
java·开发语言·c++
叠层归一研究院2 小时前
AGI 系统(十一):二阶网络 — 二阶递归 × 多主体 (元符号网络)
开发语言·人工智能·算法·php·agi
小雨笙笙2 小时前
C语言:变量三属性——存储类型
c语言·开发语言
果果燕3 小时前
C++ 学习笔记(二):类与对象—— 构造函数与析构函数
开发语言·c++
江畔柳前堤3 小时前
Function Calling 与 Tool Calling:从认知到工程的全景深度解析
开发语言·网络·人工智能·深度学习·算法·机器学习·php
Navigator_Z3 小时前
LeetCode //C - 1192. Critical Connections in a Network
c语言·算法·leetcode
2601_949950633 小时前
Java 面试准备,用练题簿把“背过八股”变成“真正会答”
java·开发语言·面试·刷题·小程序推荐