本题目要求编写程序,输入一行字符,将每个单词的首字母改为大写后输出。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:输入给出一行字符。
输出格式:在一行中输出已输入的字符,其中所有单词的首字母已改为大写。
输入样例:How are you?
结尾无空行
输出样例:How Are You?
结尾无空行
语句的第一个单词首字母已经为大写字母,所以只需要改变剩下的单词的首字母,而在碰到下一个单词前都会有一个空格,就以此来作为我们的判断条件。
#includeint main() { int w = 1; char c; while((c = getchar())!='n') //如果碰到回车,程序结束 { if(c==' ') //遇到空格,说明下一个字符就是单词首字母 { w = 1; //w发生改变 } else if(w==1) { w = 0; //w复位,为下一次循环准备 if(c>='a'&&c<='z') //如果首字符为小写字母 { c-=32; //小写变大写 } } putchar(c); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)