首字母变大写

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 66882    Accepted Submission(s): 36383

Problem Description
输入一个英文句子,将每个单词的第一个字母改成大写字母。
Input
输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行。
Output
请输出按照要求改写后的英文句子。
Sample Input

i like acm i want to get an accepted
Sample Output

I Like Acm I Want To Get An Accepted
Author
lcy
Source
C语言程序设计练习(四)

问题链接:HDU2026 首字母变大写。

问题描述:(略)

问题分析

  这是一个字符串输入处理问题,也是一个基本的输入处理训练问题。

程序说明

  通过这个例子,可以知道C++程序中如何读入一行,如何判定输入结束(文件结束),以及如何用库函数进行字母判定和大小写转换。

  如果用C语言来写这个程序,则是另外一番风景,参见后面给出的代码。由于新标准库函数中,gets()不被推荐使用(还可以使用),也可以编写自己的函数mygets()实现。

 

AC的C++语言程序如下:

/* HDU2026 首字母变大写 */#include <iostream>
#include <string>
#include <cctype>using namespace std;int main()
{string s;while(getline(cin, s)) {if(islower(s[0]))s[0] = toupper(s[0]);for(int i=1, len=s.length(); i<len; i++) {if(s[i-1] == ' ' && islower(s[i]))s[i] = toupper(s[i]);}cout << s << endl;}return 0;
}

AC的C语言程序如下:

/* HDU2026 首字母变大写 */#include <stdio.h>
#include <ctype.h>#define MAXN 100
char s[MAXN+1];int main(void)
{int i;while(gets(s) != NULL) {i=0;while(s[i]) {if(i == 0) {if(islower(s[i]))s[i] = toupper(s[i]);} else {if(islower(s[i]) && (s[i - 1] == ' ' || s[i - 1] == '\t'))s[i] = toupper(s[i]);}i++;}puts(s);}return 0;
}

 

AC的C语言程序如下:

/* HDU2026 首字母变大写 */#include <stdio.h>#define MAXN 100
#define DELTA 'a'-'A'int mygets(char s[])
{int i = 0;char c;while((c = getchar()) && c != '\n' && c != EOF)s[i++] = c;s[i] = '\0';return i > 0 || c != EOF;
}int main(void)
{char s[MAXN+1];int i;while(mygets(s)) {if('a' <= s[0] && s[0] <= 'z')s[0] -= DELTA;for(i=1; s[i]!='\0'; i++) {if(s[i-1] == ' ' && 'a' <= s[i] && s[i] <= 'z')s[i] -= DELTA;}printf("%s\n", s);}return 0;
}

HDU2026 首字母变大写【入门】相关推荐

  1. HDU2026 首字母变大写【文本处理】

    首字母变大写 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  2. HDU2026 首字母变大写

    此题要注意的是,输入输出要用gets和puts,因为scanf得到的字符串不包含空格,而且在句子最后不易输出换行符 123456789 10 11 12 13 14 15 16 #include &l ...

  3. 1165: 零起点学算法72——首字母变大写

    1165: 零起点学算法72--首字母变大写 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lld Submitted: 705 ...

  4. hdu 2026 首字母变大写

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2026 题目大意:将一个英文句子,每个单词第一个首字母变大写. 1 #include <stdio ...

  5. ZZULIOJ 1136: 首字母变大写

    首字母变大写 题目描述 输入一个只包含大小写英文字母和空格的句子,将每个单词的第一个字母改成大写字母. 输入 输入一个长度不超过100的英文句子. 输出 请输出按照要求改写后的英文句子. 样例输入 C ...

  6. wps中,点空格或者enter之后首字母变大写问题

    问题: wps中,点空格或者enter之后首字母变大写问题 解决: 文件->选项->取消勾选"键入时自动进行句首字母大写更正"

  7. HDOJ2026 ( 首字母变大写 ) 【水题】

    Problem : 2026 ( 首字母变大写 )     Judge Status : Accepted RunId : 6000786    Language : C    Author : qq ...

  8. C语言程序——首字母变大写

    [问题描述]首字母变大写:输入一个英文句子,将每个单词的第一个字母改成大写字母. [输入形式]一个长度不超过100的英文句子 [输出形式]按照要求改写后的英文句子,每个单词的首字母大写 [样例输入]i ...

  9. ZZULIOJ:1136: 首字母变大写

    1136: 首字母变大写 时间限制: 1 Sec  内存限制: 128 MB [状态] [讨论版] [提交] [命题人:admin] 题目描述 输入一个只包含大小写英文字母和空格的句子,将每个单词的第 ...

最新文章

  1. 模态框获取id一直不变,都是同一个id值
  2. vue-router如何在router-link标签绑定click点击事件、keyup、change等事件
  3. SpringBoot 统一异常处理 ControllerAdvice
  4. nginx lua调用redis和mongo
  5. 《C4.5: Programs for Machine Learning》chaper4实验结果重现
  6. 王道 —— 操作系统的概念(定义)、功能和目标
  7. spring MVC中获取request和response
  8. zabbix监控mysql集群_zabbix监控elasticsearch集群
  9. Python爬虫获取PPT模板
  10. PLM 产品生命周期管理
  11. Could not find conda environment:
  12. android什么叫服务器,Android系统中神秘的Bootloader究竟是什么
  13. 华东师范大学张凯教授课题组招收图神经网络方向博士生
  14. 新品爆款打造流程与操作步骤--电商人必看
  15. 浅谈滤波中Q和R的调整——KF第三篇笔记
  16. IBus Pinyin 导入Sougou词库
  17. matlab圆周率计算,matlab代码求圆周率的简单算法
  18. 关于AM5728评估板
  19. 太吾绘卷加载卡54_太吾绘卷支持度卡40%解决技巧详解_可可网
  20. carbon安装win7 thinkpad x1_联想ThinkPad X1 Carbon 2018笔记本如何安装win7系统

热门文章

  1. golang actor模型探索
  2. DragonBones快速入门指南
  3. reentrantlock原理_分享:synchronized和ReentrantLock的实现原理知识点
  4. 【hadoop各个节点的意思】
  5. 后台权限html,cms后台权限架构.html
  6. java Iterator的next()、previous()、set()究竟指向哪里?
  7. 类和对象编程(一):类成员函数
  8. Linux中的两个经典宏定义
  9. 机器学习 --- 1. 线性回归与分类, 解决与区别
  10. MySQL的主动优化和被动优化_MySQL“被动”性能优化汇总