串的简单处理

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 39  Solved: 11
[Submit][Status][Web Board]

Description

串的处理
在实际的开发工作中,对字符串的处理是最常见的编程任务。本题目即是要求程序对用户输入的串进行处理。具体规则如下:
1.    把每个单词的首字母变为大写。
2.    把数字与字母之间用下划线字符(_)分开,使得更清晰
3.    把单词中间有多个空格的调整为1个空格。

Input

例如:
用户输入:
you and     me what  cpp2005program

Output

则程序输出:
You And Me What Cpp_2005_program

Sample Input

this is a 99cat

Sample Output

This Is A 99_cat

HINT

  第一次提交这道水题竟然WA,看了一下问题出在将所有单词首字母变为大写那部分,原因是那部分代码我直接copy的前面做过的一道题,而两道题的情况又不一样,所以一般不要copy,因为你也不知道copy的代码放到当前情况到底适不适应。

 /*
1. 把每个单词的首字母变为大写。
2. 把数字与字母之间用下划线字符(_)分开,使得更清晰
3. 把单词中间有多个空格的调整为1个空格。
*/
#include <iostream> using namespace std; int main()
{
char s[];
while(cin.getline(s,,'\n')){
//1. 把每个单词的首字母变为大写。
int i;
for(i=;s[i]!='\0';i++){
if(s[i]!=' ')
if(('a'<=s[i] && s[i]<='z')){
s[i]-=;
break;
}
else break;
}
for(i=i+;s[i]!='\0';i++){
if(s[i]==' '){
if( ('a'<=s[i+] && s[i+]<='z') && s[i+]!='\0'){
s[i+]-=;
}
}
}
//2. 把数字与字母之间用下划线字符(_)分开,使得更清晰
//3. 把单词中间有多个空格的调整为1个空格。
for(i=;s[i]!='\0';i++){
if( ''<=s[i] && s[i]<='' ){
if( ('a'<=s[i+] && s[i+]<='z') || ('A'<=s[i+] && s[i+]<='Z') )
cout<<s[i]<<'_';
else
cout<<s[i];
}
else if( ('a'<=s[i] && s[i]<='z') || ('A'<=s[i] && s[i]<='Z') ){
if( ''<=s[i+] && s[i+]<='' )
cout<<s[i]<<'_';
else
cout<<s[i];
}
else if(s[i]==' ' && s[i+]==' ')
continue;
else
cout<<s[i];
}
cout<<endl;
}
return ;
}

Freecode : www.cnblogs.com/yym2013

ytu 1304:串的简单处理(水题)的更多相关文章

  1. ytu 1301:Excel地址转换(水题,进制转换)

    Excel地址转换 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 41  Solved: 11[Submit][Status][Web Board] D ...

  2. 2019年华南理工校赛(春季赛)--I--炒股(简单思维水题)

    水题,想想就过了 题目如下: 链接:https://ac.nowcoder.com/acm/contest/625/I来源:牛客网 攒机一时爽,一直攒机一直爽. 沉迷攒机的胡老师很快就发现,他每天只能 ...

  3. ytu 1789:n皇后问题(水题,枚举)

    n皇后问题 Time Limit: 1 Sec  Memory Limit: 64 MB  Special JudgeSubmit: 12  Solved: 3[Submit][Status][Web ...

  4. HDOJ 1008. Elevator 简单模拟水题

    Elevator Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Su ...

  5. ytu 1940:Palindromes _easy version(水题)

    Palindromes _easy version Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 47  Solved: 27[Submit][Statu ...

  6. HDU 1840 Equations (简单数学 + 水题)(Java版)

    Equations 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1840 ——每天在线,欢迎留言谈论. 题目大意: 给你一个一元二次方程组,a(X^2 ...

  7. 简单dp水题

    #include <bits/stdc++.h> using namespace std; #define limit (100 + 5)//防止溢出 #define INF 0x3f3f ...

  8. ytu 1041: 迭代法求平方根(水题)

    1041: 迭代法求平方根 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 227  Solved: 146[Submit][Status][Web Bo ...

  9. ytu 1937:查找最大元素(水题)

    查找最大元素 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 51  Solved: 23[Submit][Status][Web Board] Descr ...

随机推荐

  1. tp auth 转载保存

    PS:最近需要做一个验证用户权限的功能,在官方和百度看了下,发现大家都是用auth来做验证,官方有很多auth的使用教程,但是都不全面,我也提问了几个关于auth的问题 也没人来回答我,无奈只好一步步 ...

  2. The C Programming Language (second edition) 实践代码(置于此以作备份)

    1. #include <stdio.h> #include <stdlib.h> #include <math.h> #include<time.h> ...

  3. python多线程备份MYSQL数据库并删除旧的备份。

    #!/usr/bin/python # -*- coding=utf-8 -*- import time import os import datetime import threading from ...

  4. Android-调用优酷SDK上传视频

    最近在研究用优酷的SDK来进行视频上传的功能,由于优酷的SDK只是提供了一个上传的sample code,没有涉及到授权的过程,对于新手来说,可能非常棘手,现在分享一下我的思路:   程序实现前我们先 ...

  5. 新浪微博客户端(11)-自定义checkBox

    在最后一个欢迎界面上添加一个CheckBox. // 2.添加4个UIImageView ; i < NEW_FEATURE_NUMS; i++) { UIImageView *imageVie ...

  6. gdb调试多进程和多线程命令

     gdb调试多进程和多线程命令 来源:http://blog.csdn.net/pbymw8iwm/article/details/7876797 1. 默认设置下,在调试多进程程序时GDB只会调试主 ...

  7. linux下ping的C语言实现(转)

    #include <stdio.h> #include <signal.h> #include <arpa/inet.h> #include <sys/typ ...

  8. 《CMake实践》第三部分的示例代码的错误

    <CMake实践>的第三章,初试cmake - cmake的helloworld 中的 PROJECT (HELLO) SET(SRC_LIST main.c) MESSAGE(statu ...

  9. IIS假死状态处理

    为应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制  服务器经常产生“应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制.进程 ID 是 '2 ...

  10. Public and Private Interfaces in ruby

    Your latest client is a bank, and they’ve tasked you with requiring customers to enter their passwor ...