华为机试HJ74:参数解析
作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处
题目描述:
在命令行输入如下命令:
xcopy /s c:\ d:\,
各个参数如下:
参数1:命令字xcopy
参数2:字符串/s
参数3:字符串c:\
参数4: 字符串d:\
请编写一个参数解析程序,实现将命令行各个参数解析出来。
解析规则:
1.参数分隔符为空格
2.对于用""包含起来的参数,如果中间有空格,不能解析为多个参数。比如在命令行输入xcopy /s "C:\program files" "d:\"时,参数仍然是4个,第3个参数应该是字符串C:\program files,而不是C:\program,注意输出参数时,需要将""去掉,引号不存在嵌套情况。
3.参数不定长
4.输入由用例保证,不会出现不符合要求的输入
输入描述:
输入一行字符串,可以有空格
输出描述:
输出参数个数,分解后的参数,每个参数都独占一行
示例:
输入:
xcopy /s c:\\ d:\\
输出:
4 xcopy /s c:\\ d:\\
解题思路:
本题是个字符串问题。
首先统计参数个数,每出现一次空格,进行一次计数;当出现"字符时,持续遍历且忽略空格存在,直到再出现"字符结束;字符串完整遍历完,计数再加一,因为参数数量为空格的数量加一。
输出结果,同统计类似,正常输出,每次出现空格输出一个回车符;当出现"字符时,循环输出直到再出现"字符结束。
测试代码:
#include <iostream>
#include <string>using namespace std;int main()
{string s;while(getline(cin, s)){int size=s.size();int num=0;// 统计个数for(int i=0;i<size;++i){if(s[i]=='"'){++i;while(s[i]!='"'){++i;}}else if(s[i]==' '){num++;}}cout<<num+1<<endl;// 输出for(int i=0;i<size;++i){if(s[i]=='"'){i++;while(s[i]!='"'){cout<<s[i];i++;}}else if(s[i]==' '){cout<<endl;}else{cout<<s[i];}}cout<<endl;}return 0;
}
华为机试HJ74:参数解析相关推荐
- Java算法:华为机试算法(下),华为算法Java版,牛客网华为算法73~108题
接上篇:Java算法:华为机试算法(中),华为算法Java版,牛客网华为算法55~72题 HJ73 计算日期到天数转换 计算日期到天数转换 题目描述 根据输入的日期,计算是这一年的第几天.. 测试 ...
- 牛客在线编程-华为机试-中等
牛客在线编程题目-华为机试-中等 题号 题目 知识点 难度 通过率 HJ16 购物单 动态规划 中等 21.21% HJ17 坐标移动 字符串 中等 24.79% HJ20 密码验证合格程序 数组 字 ...
- 华为机试108题(C 语言解答)
Nowcoder题库链接:华为机试 HJ1 字符串最后一个单词的长度(字符串) 输入:hello nowcoder输出:8说明: 最后一个单词为nowcoder,长度为8 示例代码: HJ1.c #i ...
- 【强烈推荐收藏】坚持3个月爆肝华为机试108题C++全解(适合新手入门,就业必刷套题)
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 前言 金九银十,金三银四.当前正处于校招.社招的火热期,之前就想为正在筹备就业的同学们准备刷题宝 ...
- 牛客网–华为机试在线训练6:质数因子
牛客网–华为机试在线训练6:质数因子 题目描述 功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 ) 最后一个数后面也要有空格 详细描述: 函数接 ...
- 【To Debug】牛客网--华为机试在线训练3:明明的随机数
牛客网–华为机试在线训练3:明明的随机数 题目描述 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字, ...
- 华为机试:机器人走迷宫
题目来源 华为机试:机器人走迷宫 题目描述 1. 房间由XY的方格组成,例如下图为64的大小.每一个方格以坐标(x,y)描述. 2. 机器人固定从方格(0,0)出发,只能向东或者向北前进.出口固定为房 ...
- 华为机试二星题--机器人走迷宫
题目 机器人走一个迷宫,给出迷宫的x和y(x*y的迷宫)并且迷宫中有障碍物,输入k表示障碍物有k个,并且会将障碍物的坐标挨个输入. 机器人从0,0的位置走到x,y的位置并且只能向x,y增加的方向走,不 ...
- 【华为机试真题详解】不含 101 的数【2022 Q4 | 100分】
文章目录 前言 题目描述 输入描述 输出描述 示例 1 示例2 题目解析 参考代码 前言 <华为机试真题详解 Python实现>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果 ...
最新文章
- c语言实现图形界面实现四则运算,C语言实现四则运算的生成器
- NLP 解决方案是如何被深度学习改写的?
- Binwalk固件分析利器
- oracle指定用户SID,如何修改oracle SID
- 登录form php一个页面跳转页面,form表单页面跳转方式提交练习
- 【Python基础】不服不行,Python 操作 JSON 的门道也这么多~
- Mariadb 二进制半自动安装脚本
- spring期刊状态_无状态Spring安全性第2部分:无状态认证
- Windows端高仿超级逼真Mac系统方法
- vb 循环放音乐_为何洒水车一直无限循环播放《兰花草》这首歌呢?
- [转载] Numpy 使用教程--Numpy 数学函数及代数运算
- 在 Hibernate 中出现 database product name cannot be null 时怎么解决?
- 华为 eNSP 模拟器安装教程(内含下载地址)
- matlab hspice联合仿真,matlab hspice
- MyEclipse 10 破解教程
- Python 高斯列主元消去法求增广矩阵/方程组的解 Numpy模块
- SAP 生产订单创建修改日期
- iftop流量实时查看
- 《云云众声》第94期:HP网络策略遭质疑 IBM牵手ARM发力物联网
- 华为网络精英挑战赛ICT部分