字符串最后一个单词的长度

题目描述

计算字符串最后一个单词的长度,单词以空格隔开。

输入描述:

一行字符串。

输出描述:

整数N,最后一个单词的长度。

输入例子:
hello world
输出例子:
5
getline函数
getline不是C库函数,而是C++库函数。它会生成一个包含一串从输入流读入的字符的字符串,直到以下情况发生会导致生成的此字符串结束。1)到文件结束,2)遇到函数的定界符,3)输入达到最大限度。
在函数遇到和结束定界符相等的字符时函数结束,同时函数抽出定界符,此种情况下该定界符既不被放回输入流,也不被放入要生成的字符串。所以由此可以理解输入结束后的第一个回车是定界符,被确认后抛弃,而第二个才是程序执行运行时正常需要的!
C++有getline()函数.
C 有 fgets(), gets() 函数,也有getline.
用于读取一行 字符直到换行符,包括换行符 [1]   .

使用条件

linux标准C中使用条件:
#define _GNU_SOURCE
  #include <stdio.h>
函数声明:
ssize_t getline(char **lineptr, size_t *n, FILE *stream);

返回值

成功:返回读取的字节数。
失败:返回-1。
参数:
lineptr:指向存放该行字符的指针,如果是NULL,则有系统帮助malloc,请在使用完成后free释放。
n:如果是由系统malloc的指针,请填0
stream:文件描述符
istringstream函数
istringstream对象可以绑定一行字符串,然后以空格为分隔符把该行分隔开来。
#include <iostream>
#include <string>
#include <sstream>

using namespace std;

int main()
{
	string str, strin;
	while (getline(cin, strin))
	{
		istringstream line(strin);
		while (line >> str)
		{
		}
		cout << str.size() << endl;
	}
	return 0;
}
运行结果:
输入:
测试用例:
EIEGWAEDZZELVYABLTVMAHK UIPOI NBZTNKLHVFIULKOEJO HDSRSETCLLPB XVRM YUKKBLLYXAWVHFCAGHHHAXTTUR ZBQ EUIXHIOPMXUACWWIMUA VZPO JUFGOFFCXMHBEJDM AWXNHTDYTHR NENOJFHHEUBKTHJKHJAFJG T JTUZPNHYLLYCG KXYU PZKEGWPTY FVYYVBVOSOEZNT ZDHHWIBWAGMGUSULYDCXAQTWVDAEA BCAXQGGBBEMXYQUADZECNLSM FSVRSPWWDKRRLABPZEZLC PVDYCBFXLJWHRXZ CNTPFDQQEBCRPJDZJXSYHGIE GQOYGWWFXAXS THEWWAQDBHOHBB DESSYKJHWEKJIUPWJWHSFMNGXMXLS DZAFXTLLYKWIKYQFGDFQ VUQDQGPXXJI W MEDVANWCGGXCHTJWZERZZO GBPNURMDVEVJOHDB MXAECJW PTXRUKRKEJYABIML OHMVU RZWKYOBCEBLMBEZJZNPNH HZWCXTKTGYSHWEUM GPIHWDZTHTTFFZPJCDMOJBYRPFAS WIVP GDJODVVK V QZAZMCSLZMFMEXQXTTQTYXFDMGP GZRHGDC SZZEBZCYPBFODQXBS GMFWUWOIAUEWVIVOQMY MRNZTYIGQBMATZJNETSJIXKX KHTWWUCT YPXKYDSOOHVJNJNMGHWCRKYTIBUZUS YRXPUULCUB NKHJYHHZVWALRO HNRMPX UQTQKULHUVII KS VWFEFHXV OBUKFPDYZTAMMNUCZSLQ PLEOIMMBLTVMSUMJGJCD TP NZFLOPIJJEA WYEQPULOXXXXSWKFKTS LWTJUEKITUQFHEACICOEVAHD FQEEEJIU QVYQQEZLTSHLSAOATTFFRYVJBRZAI HLGVQPA PCFTBMSVCNBEBIPAM MKVAUV OVWIGEBRVFSWBMCLJRLFURXZXU MYOGAGRGMXHUGHDLBU LMZEJYZJAMMRINJHDCONANTNIOZWH XFSAJR XHNRPGZUSGMKTKXYRIR KAPPNGNAOPDMMPLKSFG NXQPKEEEREHDHLEX YFKMNVXJMFGWBDCP NDFEKBFGAK ANAWHJ ECZGDYHGH SOFESMGVJSFKJZVJZLZPGQUSKH UZOIWNQBKCAXLGBSRHLDLXSEDDFJU ZPVGPUYCLNQDUFRJKNGTTDUJIDO HFNHVNUMHYJPFPQMCYW KHJGPECOLZYYEXVYMQLKXZRYPQQEB MIAVNTDMMLCZLOGPXLZADELLXHLNF NPBLGNJGSLIGQFHZRZZLWL CTBZNOTNREPPIMYIUIHJ MLMVFAYRKHZYSQLNXREPB PLWTTIWHLVVPZTZN ISJATNELIXDNLUOUA MFCAVMFNG DBAYGHEIRUSP EPJW VQOYSBZICWLBOJZ PPXFSLQQXHGKJUERBEHQXAPQ BAPOB CVECVFXIOIKHQOL FWCXTUIDCZHKDHOPCJUR GHLTNJAANMXBVSYR YCSEXVGR PLVWCFZMMGEFPJN WKPEBSWCFJNQJH AALQZCQNTIRSCCHLT VLSNAZAZULXVSQCVGJZSBXEHVN KMTOOTG UMRXZATIRWOIWSHMWKJCORE RRBK KADAZLCUNBBRMYIHTJND TVHV MIJHCTAQ SEGEDHEHAACSINFBYPRUHZW USKBUYHJZHCYPOEXWFNKT UNPJLQFCECOIJP GNAASFXATYXEJRSBBQVCIMBIGSANBL CBSQKDDVFWMTEJJ BEYVSWKGZEZERWUVTVNZE FIKOGVBTMD MJDRGJQLFCDTXXXZNMHKCJ GJCCP MFENMYOCIERHWFHRRW YUIJMHIGHZQHONBDGNWM FRXAUZWSFWZYMSDPCLCSROXZDLWNIN AWCARZIIIZJ AZNDO IQVMVNFMPRVCDCLKGRNXUWQ BCJQTK WWPAETRJYJY QBIOBRBDAPPRHXSYFCZLARYDTYPGS PBDG IEZUKITYMTCSEYTLOEXIFXSDWSFHQ HVAHCSZNONKHTNKGTPAJVBUTRHRIE SPAV OJNY OJFIXSIOAMPXF CMQISGWUIENWUGLHXTNY FGJFHIKHFSXYL DFBVMROARWEHMTOMRYAOR CMZLMTTW EOMQLYJTUVPLIDZGVFTGGHYU DCTSSSETUEAHIHTBW ARGWPXNTDXNOBWMSKTJFZJ OQQQHHGSMAEXRKNQPLW QIHSXVBLUWYULPRZWWGU HHAWNGRLPQFIFYRVQDTQNISQY EMXPCJSEPKMDI SFPNRCJLULSAYMLDZDPKWFSP OYLCQNIKLKQNKVVBJIEHBGYXQCZQ TSVGIUK KPNTENWM JJFKXBTJDVMDILFQHXEYMNSPBBS JEWLZBFXDWIAEWKSKMOEUBWWGOMX PA DX HLBFCGEULEV YGQAWNUBRCNRWDGYMLSGSBIWR GGAJZPGPSEIFYSPBBTUAYHBRVKUI FOSZRVGECOKDVGRGAZ UVPGWYPSEMV 
对应输出应该为:
11




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值