浙江理工大学入队200题——13I
问题 I: 零基础学C/C++144——首字母变大写
题目描述
输入一个英文句子,将每个单词的第一个字母改成大写字母。
输入
输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行。
输出
请输出按照要求改写后的英文句子。
样例输入 Copy
i like acm
i want to get an accepted
样例输出 Copy
I Like Acm
I Want To Get An Accepted
提示
aa,bb应该变成Aa,bb而不是Aa,Bb
题解
我们先把第一个字母变成大写,然后如果遇到空格,空格后的第一个字符就要大写。
只需要判断空格后面是不是一个字符就可以了,这样一想是不是很简单呢( (┙>∧<)┙へ┻┻~才不简单)
代码(AC)
点击查看代码
#include <stdio.h>
#include <string.h>
int main()
{
char str[120];
while (gets(str)!=NULL)
{
int i,n=strlen(str);
if (str[0]>='a'&&str[0]<='z') printf("%c",str[0]-32);
else printf("%c",str[0]);
for (i=1;i<n;i++)
{
if (str[i-1]==' '&&str[i]>='a'&&str[i]<='z') printf("%c",str[i]-32);
else printf("%c",str[i]);
}
printf("\n");
}
return 0;
}
本文来自博客园,作者:shany212,转载请注明原文链接:https://www.cnblogs.com/codeshany/p/zstu_200_13I.html