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

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

数字颠倒_牛客题霸_牛客网 (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;
}
相关文章
|
3月前
|
测试技术
leetcode-1592:重新排列单词间的空格
leetcode-1592:重新排列单词间的空格
26 0
|
9月前
|
C语言
【每日一题】 将一句话单词倒置,标点不倒置
【每日一题】 将一句话单词倒置,标点不倒置
152 0
【每日一题】 将一句话单词倒置,标点不倒置
|
10月前
|
索引
Leecode 3. 无重复字符的最长子串
Leecode 3. 无重复字符的最长子串
39 0
|
10月前
|
算法
【基础算法】浅浅刷个小题 # 找不同 # 字符串中的单词数 # 重新排列字符串 #
【基础算法】浅浅刷个小题 # 找不同 # 字符串中的单词数 # 重新排列字符串 #
|
11月前
【leedcode】0003. 无重复字符最长子串
【leedcode】0003. 无重复字符最长子串
38 0
|
11月前
|
C++
「题解」字符串中的所有单词进行倒排
题目要求 1、构成单词的字符只有26个大写或小写英文字母; 2、非构成单词的字符均视为单词间隔符; 3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符; 4、每个单词最长20个字母;
Leetcode-每日一题792. 匹配子序列的单词数(分桶)
版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/weixin_46618592/article/details/127898403?spm=1001.2014.3001.5501
73 0
Leetcode-每日一题792. 匹配子序列的单词数(分桶)
力扣刷题记录——521. 最长特殊序列 Ⅰ、541. 反转字符串 II、557. 反转字符串中的单词 III
力扣刷题记录——521. 最长特殊序列 Ⅰ、541. 反转字符串 II、557. 反转字符串中的单词 III
力扣刷题记录——521. 最长特殊序列 Ⅰ、541. 反转字符串 II、557. 反转字符串中的单词 III
每日三题-无重复字符的最长子串、最长连续序列、找到字符串中所有字母异位词
每日三题 无重复字符的最长子串 最长连续序列 找到字符串中所有字母异位词
73 1
每日三题-无重复字符的最长子串、最长连续序列、找到字符串中所有字母异位词
|
测试技术
LeetCode每日一题——1592. 重新排列单词间的空格
给你一个字符串 text ,该字符串由若干被空格包围的单词组成。每个单词由一个或者多个小写英文字母组成,并且两个单词之间至少存在一个空格。题目测试用例保证 text 至少包含一个单词 。
78 0