题目:
在键盘任意输入一个人的英文名和姓,然后将其名和姓的第一个字母都变成大写字母。例如:john smith–>John Smith
代码实现:
#include <stdio.h>
#include <ctype.h> //字符处理函数的头文件
#define N 80
//函数声明
void name_up(char name[]);
int main()
{
char name[N];
printf("Input your name:");
gets(name);
name_up(name); //函数调用
puts(name);
return 0;
}
//函数定义
void name_up(char name[])
{
int i = 0;
//1 跳过所有空格,直至遇到名字的第1个字母
while(!isalpha(name[i]))
{
i++;
}
//2 将名字的第1个字母变为大写
name[i] = toupper(name[i]);
//3 跳过所有字母,直至遇到第1个空格
while(!isspace(name[i]))
{
i++;
}
//4 跳过所有空格,直至遇到姓第1个字母
while(!isalpha(name[i]))
{
i++;
}
//5 将姓的第1个字母变为大写
name[i] = toupper(name[i]);
}
程序运行结果: