将从键盘上输入的一个字符串的每个单词的第一个字母转换为大写字母,输入时各单词必须用空格隔开。 输入格式: 用gets()函数
时间: 2024-03-22 20:39:10 浏览: 92
从键盘输入一串字符,分别统计其中的字母(不区分大小写)、数字字符和其他[借鉴].pdf
好的,下面是一个简单的 C 语言程序,用于实现将字符串中每个单词的第一个字母转换为大写字母:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void capitalize(char str[])
{
int i;
int len = strlen(str);
// 处理第一个单词的第一个字母
if (islower(str[0])) {
str[0] = toupper(str[0]);
}
// 处理其他单词的第一个字母
for (i = 1; i < len; i++) {
if (isspace(str[i - 1]) && islower(str[i])) {
str[i] = toupper(str[i]);
}
}
printf("转换后的字符串为:%s\n", str);
}
int main()
{
char str[100];
printf("请输入字符串:");
gets(str);
capitalize(str);
return 0;
}
```
在该程序中,我们首先定义了一个 capitalize 函数,用于实现将字符串中每个单词的第一个字母转换为大写字母。在函数中,我们先获取字符串的长度 len。然后,我们首先处理第一个单词的第一个字母,将其转换为大写字母。接着,我们使用一个 for 循环遍历字符串中的每个字符,对于每个单词的第一个字母,将其转换为对应的大写字母。在这里,我们使用 isspace 函数判断前一个字符是否为空格,使用 islower 函数判断当前字符是否为小写字母,使用 toupper 函数将其转换为大写字母。最后,我们将转换后的字符串输出到屏幕上。
在 main 函数中,我们首先定义一个 char 数组 str,用于存储用户输入的字符串。然后,使用 gets 函数从键盘读取用户输入,并调用 capitalize 函数进行转换。
需要注意的是,由于 gets 函数存在安全问题,建议使用 fgets 函数代替。fgets 函数可以指定读取的字符数,避免读取到过多的字符导致缓冲区溢出。
希望这个程序可以帮助你实现字符串中每个单词的第一个字母转换为大写字母。
阅读全文