当前位置: 首页 > article >正文

字符串排序

编写一个程序,将输入字符串中的字符按如下规则排序。

规则 1 :英文字母从 A 到 Z 排列,不区分大小写。
如,输入: Type 输出: epTy

规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。
如,输入: BabA 输出: aABb

规则 3 :非英文字母的其它字符保持原来的位置。
如,输入: By?e 输出: Be?y

数据范围:输入的字符串长度满足 1≤n≤1000
输入描述:输入字符串
输出描述:输出字符串
输入:A Famous Saying: Much Ado About Nothing (2012/8).
输出:A aaAAbc dFgghh: iimM nNn oooos Sttuuuy (2012/8).

#include<stdio.h>
#include<string.h>

int main() {
    char str[1001] = {0};
    int index = 0;
    scanf("%[^\n]",str);
    int len = strlen(str);
    char str_ch[len];
    for (char j = 'A'; j <= 'Z'; j++) {//不分大小写遍历字母表的26个字母
        for (int i = 0; i < len; i++) {//i为str的下标
            if ( (str[i] == j)||(str[i] - 32 == j) ){//str当前元素必须是大/小写字母
                str_ch[index++] = str[i];//记录
            }
        }
    }
    //printf("%s\n",str_ch);
    index = 0;
    for (int i = 0; i < len; i++) {
        if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {
            str[i] = str_ch[index++];//str中是大小写字母就写入
        }
        printf("%c", str[i]);//输出字符数组
    }
    return 0;
}

在这里插入图片描述


http://www.kler.cn/a/161872.html

相关文章:

  • 2024-11-13 学习人工智能的Day26 sklearn(2)
  • ArkTs简单入门案例:简单的图片切换应用界面
  • 【图像压缩感知】论文阅读:Self-supervised Scalable Deep Compressed Sensing
  • 使用pdfjs加载多页pdf并实现打印
  • Redis高可用-主从复制
  • HarmonyOS Next星河版笔记--界面开发(4)
  • 【华为数据之道学习笔记】3-2 基础数据治理
  • JavaEE之多线程编程(一):基础篇
  • 手机升级到iOS15.8后无法在xcode(14.2)上真机调试
  • ubuntu 14.04的git 错误: gnutls_handshake() failed: Handshake failed
  • 华为云安全组规则
  • Android 11.0 MTK Camera2 设置默认拍照尺寸功能实现
  • vue3日常知识点学习归纳
  • 第 7 部分 — 增强 LLM 安全性的策略:数学和伦理框架
  • 微前端 -- wujie 预加载和原理 无界传参
  • 探索图像生成中的生成对抗网络 (GAN) 世界
  • 唯创知音WTV380语音芯片高品质声音播放提示IC在骨盆按摩器上的应用介绍
  • 1、命名空间、C++的复合类型、缺省参数
  • 精通Nginx(21)-大幅度提升性能优化方法
  • 石头剪刀布python
  • TCP通信
  • qt中sokect断开的几种情况
  • keil添加了头文件仍然报找不到头文件的原因
  • 4-Docker命令之docker stop
  • Apache Flink(九):集群基础环境搭建-Centos7节点配置
  • LeetCode 每日一题 Day 6(DFS+BFS)