描述
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)
输入描述:
输入一行,代表要计算的字符串,非空,长度小于5000。
输出描述:
输出一个整数,表示输入字符串最后一个单词的长度
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a[50000];
memset(a,0,sizeof(a));
cin.getline(a,sizeof(a));
//gets 可以把‘ ’当成字符保存
int num=0;//记录初始单词长度
//要考虑三种情况,第一种只有一个单词,第二种有若干,第三中没有
//最后一个单词后面是0
for(int i=0;i<sizeof(a);i++)
{
if(a[i]!=0)
{
if(a[i]!=' ') num++;
else num=0;//不是0,是空格,相当于下一个单词开始,所以重新计数
}
else
{
cout<<num;
break;
}
}
}
cin.getline 的用法
保留空格,换行符作为截止符号
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a[50000]={0};
int num=0;
char ch=0;
while((ch=getchar())!='\n')//getchar()!=EOF 效果一样,结束输入的标志
{
if(ch!=' ')
num++;
else
num=0;
}
cout<<num;
}
getchar())!='\n'和getchar()!=EOF的作用
C++字符输入检测到换行停止,即结束输入的标志