本题要求实现一个函数,将p所指字符串中每个单词的首字母字母改成大写,大写字母及非字母不变化。(这里的“单词”是指由一个或者多个空格隔开的字符串)。 函数接口定义: void Conv( char *p ); 其中 p 是用户传入的参数,函数将 p 所指字符串中每个单词的首字母改成大写。 裁判测试程序样例: #include <stdio.h> void Conv( char *p ); int main() { char str[64]; gets(str); Conv(str); printf("After changing: %s", str); return 0; } /* 请在这里填写答案 */ 输入样例1: i am a student. 输出样例1: After changing: I Am A Student. 输入样例2: There are 45 students in my class. 输出样例2: After changing: There Are 45 Students In My Class.
时间: 2024-02-14 15:15:46 浏览: 65
js将字符串中的每一个单词的首字母变为大写其余均为小写
答案如下:
```c
#include <stdio.h>
#include <ctype.h> // 包含了 toupper 函数
void Conv(char *p) {
int flag = 1; // 初始状态为单词的首字母
while (*p != '\0') {
if (isspace(*p)) { // 如果是空格
flag = 1; // 下一个字符是单词的首字母
} else {
if (flag) { // 如果是单词的首字母
*p = toupper(*p); // 转换为大写字母
flag = 0; // 下一个字符不是单词的首字母
}
}
p++; // 指向下一个字符
}
}
int main() {
char str[64];
gets(str);
Conv(str);
printf("After changing: %s", str);
return 0;
}
```
阅读全文