1136:首写字母变大写
题目描述
输入一个只包含大小写英文字母和空格的句子,将每个单词的第一个字母改成大写字母。
输入
输入一个长度不超过100的英文句子。
输出
请输出按照要求改写后的英文句子。
样例输入 Copy
i like ACM
样例输出 Copy
I Like ACM
c++代码:
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char str[110];
gets(str);
int l=strlen(str);
for(int i=0;i<l;i++)
{
if(i==0&&str[i]>='a'&&str[i]<='z')
str[i]-=32;
if(str[i]==' '&&str[i+1]>='a'&&str[i+1]<='z')
str[i+1]-=32;
}
for(int i=0;i<l;i++)
printf("%c",str[i])
;
return 0;
}
Java代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
char c[]=str.toCharArray();//将字符串对象中字符转换为一个字符数组
int i;
for( i=0;i<c.length;i++)
{
if(i==0&&c[i]>='a'&&c[i]<='z')
{c[i]=(char)(c[i]-32);//第一个单词首字母大写
}
if(c[i]==' '&&c[i+1]>='a'&&c[i+1]<='z')
{c[i+1]=(char)(c[i+1]-32);//空格后单词首字母大写
}
}
for(i=0;i<c.length;i++)
System.out.print(c[i]);
}
}