https://vjudge.net/problem/HDU-2026
输入一个英文句子,将每个单词的第一个字母改成大写字母。
Input
输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行。
Output
请输出按照要求改写后的英文句子。
Sample
Inputcopy | Outputcopy |
---|---|
i like acm i want to get an accepted | I Like Acm I Want To Get An Accepted |
#include<stdio.h>
#include<string.h>
int main() {
char a[100];
while (gets(a) != '\0')
{
a[0] = a[0] - 32;
int i;//要先声明
for (i = 1; a[i] != '\0'; i++)
{
if (a[i] == ' ')
{
a[i + 1] = a[i + 1] - 32;
}
}
printf("%s", a);
puts("");
}
return 0;
}
运行结果:
相关知识点:
1、小写变大写
a[i]=a[i]-32,即小写字母的ASC码比大写字母的ASC码大32.
2、gets()函数
头文件#inlcude<stdio.h> ,用于读取字符
3、 puts("");
作用相当于换行,代码中a的输出也可以写成printf("%s\n", a);