#include
int main()
{
char ch;
int k;
k=0;
while((ch=getchar())!='\n'){
if(k==1&&ch>='a'&&ch<='z'){
ch=ch-32;
k=0;
}
if(ch==' '){
k=1;
}putchar(ch);
}return 0;
}
为什么会错啊,求解答一下555(输出结果就是和要求一样的但系统就是判定错误)
因为你不审题呀
题目告诉你有标点了,你只判断空格,那不是把标点当词语的一部分了
你用scanf("%s",方式接收字符串就可以了,会自动根据空格拆分出单词,然后将将第一个字符改为大写就行了
#include <stdio.h>
int main()
{
char s[100],c;
int n=0;
do
{
scanf("%s",s);
if(s[0]>='a' && s[0]<='z')
s[0]-=32;
if(n==0)
printf("%s",s);
else
printf(" %s",s);
c= getchar();
n++;
}while(c!='\n');
return 0;
}