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; 
    }
    

      

  • 相关阅读:
    记一次小程序支付开发的坑,超级坑
    springboot集成redis 附redis基本操作类
    springboot整合mybatis及封装curd操作-配置文件
    微信小程序开发
    vue各种插件
    java数据导出成 EXCEL
    jsp自定义标签
    java生成验证码
    文字对齐格式
    css阴影效果
  • 原文地址:https://www.cnblogs.com/zhang-yd/p/7648984.html
Copyright © 2011-2022 走看看