zoukankan      html  css  js  c++  java
  • hihocoder-1603-提取用户名

    hihocoder-1603-提取用户名

    #1603 : 提取用户名

    时间限制:10000ms
    单点时限:1000ms
    内存限制:256MB

    描述

    在现在的各种互联网应用中,在一段文字中使用'@'字符来提起一名用户是流行的做法。  

    例如:

    "@littleho submitted his code 30 times before he got passed the system test."  

    其中littleho就是一个用户名。我们规定在一段文字中,'@'字符之后一段连续的、非空的大小写英文字母组成的字符串被视为提起的用户名。  

    给定一段文字,请你输出其中所有提到的用户名。

    输入

    一行文本,只包含大小写字母、标点符号和空格。长度不超过800。

    输出

    按文本中的顺序输出所有提到的用户名,之间用一个空格隔开。重复提到的相同用户名也重复输出。

    样例输入
    @abc:@@,@littleho's code is so confusing. @abc.
    样例输出
    abc littleho abc

    直接模拟法,直接输出。

    #include <cstdio>  
    
    #include <iostream> 
    using namespace std; 
    
    const int MAXN = 1024; 
    
    
    int main(){
    
    	char ch[MAXN]; 
    
    	int i = 0; 
    
    	while(scanf("%c", &ch[i]) != EOF){
    		if(ch[i] == '
    '){
    			break; 
    		}
    		++i; 
    	}
    
    	int j = 0; 
    	bool flag = true; 
    	while(j < i){
    		if(ch[j] == '@'){
    			if( flag ){
    				flag = false; 
    			}else{
    				printf(" ");
    			}
    			int k = j + 1; 
    			while( k < i && (( ch[k] >= 'A' && ch[k] <= 'Z' ) || (ch[k] >='a' && ch[k] <= 'z')) ){
    				printf("%c", ch[k] ); 
    				++k; 
    			} 
    			if(j + 1 == k){
    				flag = true; 
    			}
    			j = k; 
    		}else{
    			++j; 
    		}
    	} 
    	printf("
    ");
    
    	return 0; 
    }
    

      

  • 相关阅读:
    OK335x mksd.sh hacking
    Qt jsoncpp 对象拷贝、删除、函数调用 demo
    OK335xS 256M 512M nand flash make ubifs hacking
    Qt QScrollArea and layout in code
    JsonCpp Documentation
    Qt 4.8.5 jsoncpp lib
    Oracle数据库生成UUID
    freemarker得到数组的长度
    FreeMarker中if标签内的判断条件
    freemarker语法
  • 原文地址:https://www.cnblogs.com/zhang-yd/p/7648984.html
Copyright © 2011-2022 走看看