首页 > 基础资料 博客日记
对字符串中所有单词进行倒排-C语言/Java
2023-09-09 17:51:53基础资料围观417次
描述
输入一个字符串,输出字符串中单词的倒序。
要求
- 构成单词的字符只有26个大写或小写英文字母。
- 非构成单词的字符均视为单词间隔符;
- 倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符
- 每个单词最长20个字母。
示例1
输入:I am a student
输出:student a am I
示例2
输入:$bo*y gi!r#l
输出:l r gi y bo
C语言:每次输入指定字符集即一个单词,将其放入数组中,再进行倒序输出。
#include <stdio.h>
#include <stdlib.h>
int main() {
char ch[200][30];
int i=0;
while(1)
{ //输入指定字符集即大小写字母
scanf("%[a-z|A-Z]",ch[i]);
if(getchar()=='\n')
break;
i++;
}
for(int j=i;j>=0;j--)
{
printf("%s ",ch[j]);
}
return 0;
}
Java:以非大小写字母为分隔符,将输入的整个字符串进行分割,将分割得到的字符串数组即单词数组倒序存入新字符串中,新字符串每两个单词中间有一个空格,打印新字符串。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String str=in.nextLine();
//以非大小字母的字符为分隔符
String[] words=str.split("[^a-zA-Z]");
StringBuilder str1=new StringBuilder();
for(int i=words.length-1;i>=0;i++)
{
str1.append(words[i]);
if(i!=0)
str1.append(" ");
}
System.out.println(str1.toString());
}
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- springboot~3.x项目中使用集成测试
- Java测试类、工具类与JavaBean对比解析
- SpringBoot-日志
- springboot~http2的支持
- 解疑释惑 - 日志体系之 slf4j + logback 组合(一)
- Web server failed to start. Port 8080 was already in use. 端口被占用
- Springboot 项目配置多数据源
- 伙伴匹配系统(移动端 H5 网站(APP 风格)基于Spring Boot 后端 + Vue3 - 05
- 剑指offer-23、搜索⼆叉树的后序遍历序列
- 一个表示金额的数字是 100000000L,这是多少米?