输入一个英文句子,将每个单词的第一个字母改成大写字母。
输入时有多个测试样例,但字符串与数字不同,不能用EOF来实现多次输入,直接while(gets(s))就可以了。用空格来判断是否是首字母,同样有的题目要计算字符串中单词的个数,也可以用空格数来计算。
(可以上网了解一下EOF的用法,我找了一点点)
1.EOF是end of file的缩写,表示”文字流”(stream)的结尾。这里的”文字流”,可以是文件(file),也可以是标准输入(stdin)。
2.EOF不是特殊字符,而是一个定义在头文件stdio.h的常量,一般等于-1。
3.除了表示文件结尾,EOF还可以表示标准输入的结尾。但是,标准输入与文件不一样,无法事先知道输入的长度,必须手动输入一个字符,表示到达EOF。
#include<stdio.h>
#include<string.h>
int main()
{
char s[100];
int i,l;
while (gets(s))
{
l=strlen(s);
for (i=0;i<l;i++)
{
if (i==0)
s[0]=s[0]-32;
if (s[i]==' ')
s[i+1]=s[i+1]-32;
printf ("%c",s[i]);
}
printf ("\n");
}
return 0;
}