每日一题(数字颠倒,单词倒排)

简介: 每日一题(数字颠倒,单词倒排)

数字颠倒_牛客题霸_牛客网 (nowcoder.com)

#include <stdio.h>
int main() {
    char arr[100];
    gets(arr);
    int len=strlen(arr);
    for(int i=len-1;i>=0;i--)
    {
        printf("%c",arr[i]);
    }
    return 0;
}

单词倒排_牛客题霸_牛客网 (nowcoder.com)

#include <stdio.h>
#include <string.h>
//思路:寻找非英文字母,若其后一个为英文字母则开始输出,否则不输出
int isEnglish(char c) { //判断是否为英文字母
    int flag = 0;
    if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))//判断字符c是否为小写或大写英文字母
 //是
        flag = 1;
    else//不是
        flag = 0;
    return flag;
}
int main() {
    char str[10001] = {0};
    gets(str);//使用 gets 函数从标准输入读取一个字符串并存储在 str 中
    int len = strlen(str);
    for (int i = len - 1; i >= 0; i--) //从字符串的最后一个字符开始,向前遍历每个字符{
        if (isEnglish(str[i]) == 0 && isEnglish(str[i + 1]) == 1)//检查当前字符 str[i] 是否不是英文字母,而其后一个字符 str[i + 1] 是否是英文字母
 {
            int j = i + 1;
            while (isEnglish(str[j]) == 1) {
                //一个单词
                printf("%c", str[j]);
                j++;
            }
            printf(" ");
        }
    }
    //第一个字符为字母
    if (isEnglish(str[0]) == 1) {
        printf("%c", str[0]);//如果 str[i + 1] 是英文字母,则继续检查并打印所有连续的英文字母,直到遇到非英文字母为止
        int j = 1;
        while (isEnglish(str[j]) == 1) {
            //一个单词
            printf("%c", str[j]);
            j++;
        }
    }
    return 0;
}
相关文章
|
7月前
|
测试技术
leetcode-1592:重新排列单词间的空格
leetcode-1592:重新排列单词间的空格
48 0
|
4月前
【刷题记录】数字颠倒、单词倒排
【刷题记录】数字颠倒、单词倒排
|
C语言
【每日一题】 将一句话单词倒置,标点不倒置
【每日一题】 将一句话单词倒置,标点不倒置
196 0
【每日一题】 将一句话单词倒置,标点不倒置
|
7月前
|
Python C++ Java
C/C++每日一练(20230407) 选择排序法、多数元素、字母异位词分组
C/C++每日一练(20230407) 选择排序法、多数元素、字母异位词分组
63 0
C/C++每日一练(20230407) 选择排序法、多数元素、字母异位词分组
【基础算法】浅浅刷个小题 # 找不同 # 字符串中的单词数 # 重新排列字符串 #
【基础算法】浅浅刷个小题 # 找不同 # 字符串中的单词数 # 重新排列字符串 #
「题解」字符串中的所有单词进行倒排
题目要求 1、构成单词的字符只有26个大写或小写英文字母; 2、非构成单词的字符均视为单词间隔符; 3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符; 4、每个单词最长20个字母;
Leetcode-每日一题792. 匹配子序列的单词数(分桶)
版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/weixin_46618592/article/details/127898403?spm=1001.2014.3001.5501
105 0
Leetcode-每日一题792. 匹配子序列的单词数(分桶)
力扣刷题记录——521. 最长特殊序列 Ⅰ、541. 反转字符串 II、557. 反转字符串中的单词 III
力扣刷题记录——521. 最长特殊序列 Ⅰ、541. 反转字符串 II、557. 反转字符串中的单词 III
116 0
力扣刷题记录——521. 最长特殊序列 Ⅰ、541. 反转字符串 II、557. 反转字符串中的单词 III
|
存储 算法 索引
LeetCode 30串联所有单词的子串&31下一个排列
给定一个字符串 s 和一些长度相同的单词 words。找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置。 注意子串要与 words 中的单词完全匹配,中间不能有其他字符,但不需要考虑 words 中单词串联的顺序。
115 0
LeetCode 30串联所有单词的子串&31下一个排列
|
算法
每日算法刷题Day8-统计最长连续字符、最长单词、倒排单词
⭐每日算法题解系列文章旨在精选重点与易错的算法题,总结常见的算法思路与可能出现的错误,与笔者另一系列文章有所区别,并不是以知识点的形式提升算法能力,而是以实战习题的形式理解算法,使用算法。
152 0
每日算法刷题Day8-统计最长连续字符、最长单词、倒排单词