供参考:
#include<stdio.h>
#include<ctype.h>
int main()
{
char a[100+1], c;
int i;
gets(a);
if (a[0] != ' ') {
if (islower(a[0]))//判断s[0]是单词开始
a[0] = toupper(a[0]);
}
for (i = 0; (c = a[i]) != '\0'; i++)
{
if (c == ' ' && a[i + 1] != ' ') {//判断s[i+1]是一个单词的开始
if (islower(a[i + 1]))//判断是否是小写字符
a[i + 1] = toupper(a[i + 1]);
}
}
puts(a);
return 0;
}
另一种写法:
#include<stdio.h>
int main()
{
int i;
char s[101];
gets(s);
for(i=0;s[i]!='\0';i++)
{
if(i==0 && s[i]>='a' && s[i]<='z')
s[i] = s[i]-32;
else if(s[i]>='a' && s[i]<='z' && s[i-1]==' ')
s[i] = s[i]-32;
}
puts(s);
return 0;
}