lzth.net
当前位置:首页 >> 编写jAvA程序,输入一个字符串,使用空格和标点符号作为分隔符提取单词,输出这些单 >>

编写jAvA程序,输入一个字符串,使用空格和标点符号作为分隔符提取单词,输出这些单

BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); String str; if((str=in.readLine())!=null){ String[] arr = str.split(","); /* 逗号分隔,split方法支持正则表达式 */ for(String s:arr){ System.out.println(s); } }

#include main(){ char str[200]; int i,L; printf("Please input one line string:\n"); gets(str); L = strlen(str); for (i=L-1;i>=0;i--){ if (i==0) printf("%s ",str); else if (str[i]

import java.util.Scanner;public class test{public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int count = 0;if(scanner.hasNext()){String[] ss = scanner.nextLine().split("\\W+");for(String s: ss){count++;System.out.println(s);} }System.out.println(count);}}

#include "stdio.h"#include "string.h" void main() { char a[10000],s[10][30]; int i,j,k=0,c,n; gets(a); for(i=0;i { c=0; k+=(n+1); if(i==0)k=0; n=0; for(j=k;a[j]!=',';j++) { n++; if(a[j]==' ')continue; s[i][c++]=a[j]; } s[i][c]='\0'; } for(i=0;i { printf("%s",s[i]); printf("\n"); } }

给你个思路吧 做个倒序函数 reverse(char *str,int i,int j) 可以把str[i]到str[j]内的元素倒序 这个不难 然后先把整个输入的字符串倒序 再遍历字符串如果碰到空格或者符号 就把这段倒序 这样就OK啦 太晚了就不帮你贴代码了

import java.util.regex.Matcher; import java.util.regex.Pattern; String reg="[a-z|A-Z|0-9]+";//匹配英文单词,包括字母和数字 String str="fasfsa fasf fsdafsdf fsdfsd fsf fsew4324 432eww ";//改成你从键盘获取的字符串 Pattern p=Pattern.

#include #include #define WordLength 100void Swap(char *s1, char *s2){ char tmp[WordLength] = {'\0'}; strcpy(tmp, s1); strcpy(s1, s2); strcpy(s2, tmp);}void ReadIt(char *arr[], int *n){ printf("Word%d\t", (*n + 1)); arr[*n] = (char *)malloc(sizeof(char)

public static void main(string[] args) { string[] s1 = { "0,1", "1,3", "2", "9,30" }; stringbuffer sb = new stringbuffer(""); for (string string : s1) { sb.append(string); sb.append(","); } string string = sb.tostring(); for (string s : string.split(",")) { system.out.println(s); } }

#include<stdio.h> void main() { char buffer[1024],*p,*q,a[40]; int n,i; gets(buffer); printf("%s\n",buffer); p=buffer; n=0; while ( *p ) { q=p; while ( (*q)&&(*q)!=' ' ) q++; if ( (q-p)>n ) { n=q-p; for ( i=0;i<n;i++ ) a[i]=p[i]; } if ( (*q) ) q++; p=q; } a[n]=0; printf("%s\n",a); }

没有特别高效的方法,相对有效快速的方法就是把字符串转换成字符数组,然后从最后一个查询是否符合标点的字符特征.

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com