描述
? ? ? ? 輸入一個(gè)字符串,輸出字符串中單詞的倒序。
要求
- 構(gòu)成單詞的字符只有26個(gè)大寫或小寫英文字母。
- 非構(gòu)成單詞的字符均視為單詞間隔符;
- 倒排后的單詞間隔符以一個(gè)空格表示;如果原字符串中相鄰單詞間有多個(gè)間隔符時(shí),倒排轉(zhuǎn)換后也只允許出現(xiàn)一個(gè)空格間隔符
- 每個(gè)單詞最長20個(gè)字母。
示例1
輸入:I am a student
輸出:student a am I
示例2
輸入:$bo*y gi!r#l
輸出:l r gi y bo
????????C語言:每次輸入指定字符集即一個(gè)單詞,將其放入數(shù)組中,再進(jìn)行倒序輸出。
#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++;
? ? }文章來源:http://www.zghlxwxcb.cn/news/detail-654218.html
? ? for(int j=i;j>=0;j--)
? ? {
? ? ? ? printf("%s ",ch[j]);
? ? }
? ? return 0;
}文章來源地址http://www.zghlxwxcb.cn/news/detail-654218.html
? ? ? ? Java:以非大小寫字母為分隔符,將輸入的整個(gè)字符串進(jìn)行分割,將分割得到的字符串?dāng)?shù)組即單詞數(shù)組倒序存入新字符串中,新字符串每兩個(gè)單詞中間有一個(gè)空格,打印新字符串。
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());
? ? }
}
到了這里,關(guān)于對(duì)字符串中所有單詞進(jìn)行倒排-C語言/Java的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!