题目:给定由大写,小写字母和空格组成的字符串,返回最后一个单词的长度。 如果输入中不存在单词,返回00。 注意: “单词”是指不包含空格符号的字符串 例如: 对于字符串"hello World"(不带引号),那么返回的结果是55; 对于字符串"abc abc "(不带引号),那么返回的结果就是33。 输入格式 输入仅一行,为字符串ss(长度不超过1000010000)。 输出格式 输出ss中最后一个单词的长度。 样例输入1复制Today is a nice day样例输出1复制3样例输入2复制The quick brown fox jumps over the lazy dog 样例输出2复制3
这题是回顾,当然也有新的知识,昨天我们用的是int,今天用char。比如句子:how are you,这句话里面所含3,3,3,这个思路,我们开始讲题,我的思路:最大值max,用define定义一下,这个是昨天讲的宏定义。然后给danci max的储存空间,这样符合题目要求,看主程序,输出的就不说了,直接看函数shuru();给了一个大循环,当我按下回车键换行,他就会直接跳出这个循环,有人会问,为什么不能用cin,我试了一下,发现了一个秘密,就是当用cin的时候空格键=‘\0’,所以我就不用空格键,用cin.Get();他是一个字符一个字符按下去的,然后他的话有两种可能性,我都给他解决了,1.当按下空格键时,他那个直接=‘ ’,‘ ’其实在ascii中等于32.所以后面我就用他来比较我要的数字。2,当按下的是回车键,直接跳出回车键,这样的话结束我这句话,然后开始计算。如果都不符合,那就把字符储存起来。Shuchu();我先去找这句话最后末尾 ,‘\0’,当我找到了,然后开始减去前面出现的第一个32,那就是空格到末尾的值。时间复杂度:2*n;