输入字符串,要求将每个单词的第一个字母改为大写字母,并输出。 (要求用指针方法实现)
时间: 2024-03-25 13:38:22 浏览: 91
Java小程序 输入一个字符串,将每一个单词首字母大写
好的,以下是用指针方法实现每个单词首字母大写的程序:
```c
#include <stdio.h>
#include <ctype.h>
void capitalize(char *str) {
int i = 0;
while (str[i]) { // 遍历字符串
if (i == 0 || isspace(str[i - 1])) { // 如果是单词的第一个字母
str[i] = toupper(str[i]); // 将该字母改为大写
}
i++;
}
}
int main() {
char str[100];
printf("请输入字符串:");
fgets(str, 100, stdin); // 从标准输入读入字符串
capitalize(str); // 调用函数修改字符串
printf("结果为:%s", str); // 输出结果
return 0;
}
```
程序先定义了 `capitalize` 函数,该函数使用指针遍历字符串,并将每个单词的第一个字母改为大写字母。具体做法是,如果当前字符是单词的第一个字符或者前一个字符是空格,就将该字符改为大写字母。
在 `main` 函数中,先读入字符串,然后调用 `capitalize` 函数修改字符串,最后输出结果。
阅读全文