习题6-8 单词首字母大写 (15 分)

习题6-8 单词首字母大写 (15 分),第1张

习题6-8 单词首字母大写 (15 分)

本题目要求编写程序,输入一行字符,将每个单词的首字母改为大写后输出。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。

输入格式:

输入给出一行字符。

输出格式:

在一行中输出已输入的字符,其中所有单词的首字母已改为大写。

输入样例:
How are you?

结尾无空行

输出样例:
How Are You?

结尾无空行


语句的第一个单词首字母已经为大写字母,所以只需要改变剩下的单词的首字母,而在碰到下一个单词前都会有一个空格,就以此来作为我们的判断条件。

#include
int 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);
	}
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5692672.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存