#include<stdio.h>
#include<ctype.h>
#define N 100
int main()
{
char name[N];
int i;
printf("请输入一个英文名字:");
gets(name);//输入名和姓
name[0]=toupper(name[0]);//将名的首字母变成大写
i=1;
while(!isspace(name[i]))//跳过所有字母,直到遇见空格为止
{
i++;
}
while(!isalpha(name[i]))//跳过所有空格,直到遇见字母为止
{
i++;
}
name[i]=toupper(name[i]);//将姓的首字母变成大写
printf("%s\n",name);
return 0;
}
运行如下:
知识点:
1)toupper(int c);
如果c是小写字母,则函数将c转换成大写字母后返回,否则,返回未改变的实参c的值
2)isspace(int c);
如果c是空白字符—-换行符(‘\n’)、空格符(’ ‘)、换页符(‘\f’)、垂直制表符(‘\v’)、水平制表符(‘\t’)、回车符(‘\r’),则函数返回值为真,否则,返回值为假(0)
3)isalpha(int c);
如果c是字母,则返回值为真,否则,返回值为假(0)