【华为OJ平台练习题】求最后一个单词长度

//描述
//计算字符串最后一个单词的长度,单词以空格隔开。
//知识点	字符串,循环
//运行时间限制	0M
//内存限制	0
//输入
//一行字符串,长度小于128。
//输出
//整数N,最后一个单词的长度。
//样例输入	hello world
//样例输出	5
#include <iostream>
using namespace std;

int countLastWordLength(char *s)
{
	int counter=0;
	int lg = strlen(s);
	for(int i=1;s[lg-i]!=' ';i++)
		counter++;
	return counter;
}

int main()
{
	char s[100];
	cout<<"输入一个字符串,单词以空格隔开:";
	cin.getline(s,100);
	cout<<"最后一个单词长度:"<<countLastWordLength(s)<<endl;
	return 0;
}

注意有个BUG:没有空格字符时候会出现小问题,可以做适当修改,考虑到问题全面性。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-31 15:49:32

【华为OJ平台练习题】求最后一个单词长度的相关文章

【华为OJ平台练习题】求最大公共子串的个数和元素

1.原题是求出最大公共子串的个数即可 原理:利用二维矩阵排列的方式,将俩字符串进行比较 #include <iostream> #include <vector> using namespace std; int prcs_2Strs(const char* s1,const char* s2) { int maxSameLength = 0; int L1 = strlen(s1); int L2 = strlen(s2); if(L1==0 || L2==0) //判断字符串是

【华为OJ平台练习题】Ascii码排序

//描述 //Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好.请大家给Lily帮忙,通过C语言解决. // // //知识点 字符串 //运行时间限制 0M //内存限制 0 //输入 //Lily使用的图片包括"A"到"Z"."a"到"z"."0"到"9".输入字母或数字个数不超过1024. // // //输出 /

【华为OJ平台练习题】统计一段字符串中含有空格、英文、数字的个数

//统计一段字符串中含有空格.英文.数字的个数 #include <iostream> using namespace std; void processString(char* s) { int n = strlen(s); int kg=0; int shuzi=0; int yingwen=0; if(n>0) { for(int a=0;a<n;a++) { if(s[a]==' ') kg++; if(s[a]<='9'&&s[a]>='0')

【华为OJ平台练习题】

/* 描述: 输入整型数组和排序标识,对其元素按照升序或降序进行排序 接口说明 原型: void sortIntegerArray(Integer[] pIntegerArray, int iSortFlag); 输入参数: Integer[] pIntegerArray:整型数组 int iSortFlag:排序标识:0表示按升序,1表示按降序 输出参数: 无 返回值: void 输入 1.输入需要输入的整型数个数 2.输入数组组 3.输入排序标识 输出 输出排好序的数字 最后一个无空格 如下

【华为练习题】 最后一个单词的长度(初级)

[华为练习题] 最后一个单词的长度(初级) 题目 描述: 计算字符串最后一个单词的长度,单词以空格隔开. 题目类别: 字符串 输入: 一行字符串,长度小于128. 输出: 整数N,最后一个单词的长度. 样例输入: hello world 样例输出: 5 解答 #include <iostream> #include <string> using namespace std; int last_word_length(const string &s){ auto begin

【华为OJ】【073-查找兄弟单词】

[华为OJ][算法总篇章] [华为OJ][073-查找兄弟单词] [工程下载] 题目描述 输入描述 先输入字典中单词的个数,再输入n个单词作为字典单词. 输入一个单词,查找其在字典中兄弟单词的个数 再输入数字n 输出描述 根据输入,输出查找到的兄弟单词的个数 输入例子 3 abc bca cab abc 1 输出例子 2 bca 算法实现 import java.util.*; /** * Author: 王俊超 * Date: 2016-01-05 14:49 * All Rights Res

华为OJ平台——字符串分隔

题目描述: 连续输入字符串,请按长度为8拆分每个字符创 后输出到新的字符串数组: 长度不是8整数倍的字符串请在后面补数字0,空字符串不处理 输入 连续输入字符串(输入两次,每个字符长长度小于100)输出 输出到长度为8,的新字符串数组样例输入 abc 123456789样例输出 abc00000 12345678 90000000 思路: 都是直接处理,没有具体的方法而言 注意点: 华为的OJ平台的输入输出有点坑,好多次的程序都在这里出问题,在Eclipse上运行的结果没问题,然后在OJ上就是编

华为OJ平台——矩阵乘法

题目描述: 如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C. 输入: 1.第一个矩阵的行数 2.第一个矩阵的列数(也是第二个矩阵的行数) 3.第二个矩阵的列数 4.第一个矩阵的值 5.第二个矩阵的值 输出: 输出两个矩阵相乘的结果 样例输入 2 2 2 3 8 8 0 9 0 18 9 样例输出 171 72 72 0 思路: 题目意思很简单,只是实现两个矩阵乘法功能,要注意的一点是输出的格式. OJ平台中对输出的格式非常严格,经过多次尝试,验证此

[华为OJ--C++]001-字符串最后一个单词的长度

题目描述:计算字符串最后一个单词的长度,单词以空格隔开. 输入描述:一行字符串 输出描述:整数N,最后一个单词的长度. 输入例子:hello world 输出例子:5 算法实现: #include<iostream> #include<string> using namespace std; int main() { string str; getline(cin,str); int count=0; for(int i=str.length()-1;i>=0;i--) {