how are you. 转化后为How Are You. 结果一样但老是答案错.

将从键盘上输入的一个字符串的每个单词的第一个字母转换为大写字母,输入时各单词必须用空格隔开。

输入格式:
用gets()函数

输出格式:
"%s"

输入样例:
在这里给出一组输入。例如:

please input a word.
输出样例:
在这里给出相应的输出。例如:

Please Input A Word.
#include <stdio.h>
void Fun(char *str);
main()
{
char a[30];
gets(a);
Fun(a);
printf("%s", a);
}
void Fun(char *str)
{
*str = *str - 32;
for(;*str != '\0';str++)
{
if(str == ' ')
{
if(
(str + 1) >= 'a' && *(str + 1) <= 'z')
*(str + 1) = *(str + 1) - 32;
}
else;
}
return;
}

img

可以问问是怎么解决的吗,我也遇到这个问题了

按照空格将字符串分开为新的字符串数组 please input a word. arr【】={“please”,“ input”,“ a”,“word”}
然后将字符串数组中的字符串的第一个字符变为大写(或者将字符串转为新的字符数组,将数组第一个字符转为大写) arr【】={“Please”,“ Input”,“ A”,“Word”}
或者是(arr1【】={‘P’,‘l’ ,‘e’,‘a’,‘s’,‘e’})

代码没什么问题。
你这是什么平台?

确实离谱,请问你除了这个还遇到别的哪个题有问题吗,我感觉遇到了好几个这样的问题,莫名其妙。