作者:翟天保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:参数解析相关推荐

  1. Java算法:华为机试算法(下),华为算法Java版,牛客网华为算法73~108题

    接上篇:Java算法:华为机试算法(中),华为算法Java版,牛客网华为算法55~72题   HJ73 计算日期到天数转换 计算日期到天数转换 题目描述 根据输入的日期,计算是这一年的第几天.. 测试 ...

  2. 牛客在线编程-华为机试-中等

    牛客在线编程题目-华为机试-中等 题号 题目 知识点 难度 通过率 HJ16 购物单 动态规划 中等 21.21% HJ17 坐标移动 字符串 中等 24.79% HJ20 密码验证合格程序 数组 字 ...

  3. 华为机试108题(C 语言解答)

    Nowcoder题库链接:华为机试 HJ1 字符串最后一个单词的长度(字符串) 输入:hello nowcoder输出:8说明: 最后一个单词为nowcoder,长度为8 示例代码: HJ1.c #i ...

  4. 【强烈推荐收藏】坚持3个月爆肝华为机试108题C++全解(适合新手入门,就业必刷套题)

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 前言 金九银十,金三银四.当前正处于校招.社招的火热期,之前就想为正在筹备就业的同学们准备刷题宝 ...

  5. 牛客网–华为机试在线训练6:质数因子

    牛客网–华为机试在线训练6:质数因子 题目描述 功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 ) 最后一个数后面也要有空格 详细描述: 函数接 ...

  6. 【To Debug】牛客网--华为机试在线训练3:明明的随机数

    牛客网–华为机试在线训练3:明明的随机数 题目描述 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字, ...

  7. 华为机试:机器人走迷宫

    题目来源 华为机试:机器人走迷宫 题目描述 1. 房间由XY的方格组成,例如下图为64的大小.每一个方格以坐标(x,y)描述. 2. 机器人固定从方格(0,0)出发,只能向东或者向北前进.出口固定为房 ...

  8. 华为机试二星题--机器人走迷宫

    题目 机器人走一个迷宫,给出迷宫的x和y(x*y的迷宫)并且迷宫中有障碍物,输入k表示障碍物有k个,并且会将障碍物的坐标挨个输入. 机器人从0,0的位置走到x,y的位置并且只能向x,y增加的方向走,不 ...

  9. 【华为机试真题详解】不含 101 的数【2022 Q4 | 100分】

    文章目录 前言 题目描述 输入描述 输出描述 示例 1 示例2 题目解析 参考代码 前言 <华为机试真题详解 Python实现>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果 ...

最新文章

  1. c语言实现图形界面实现四则运算,C语言实现四则运算的生成器
  2. NLP 解决方案是如何被深度学习改写的?
  3. Binwalk固件分析利器
  4. oracle指定用户SID,如何修改oracle SID
  5. 登录form php一个页面跳转页面,form表单页面跳转方式提交练习
  6. 【Python基础】不服不行,Python 操作 JSON 的门道也这么多~
  7. Mariadb 二进制半自动安装脚本
  8. spring期刊状态_无状态Spring安全性第2部分:无状态认证
  9. Windows端高仿超级逼真Mac系统方法
  10. vb 循环放音乐_为何洒水车一直无限循环播放《兰花草》这首歌呢?
  11. [转载] Numpy 使用教程--Numpy 数学函数及代数运算
  12. 在 Hibernate 中出现 database product name cannot be null 时怎么解决?
  13. 华为 eNSP 模拟器安装教程(内含下载地址)
  14. matlab hspice联合仿真,matlab hspice
  15. MyEclipse 10 破解教程
  16. Python 高斯列主元消去法求增广矩阵/方程组的解 Numpy模块
  17. SAP 生产订单创建修改日期
  18. iftop流量实时查看
  19. 《云云众声》第94期:HP网络策略遭质疑 IBM牵手ARM发力物联网
  20. 华为网络精英挑战赛ICT部分

热门文章

  1. Android定义的路径全局变量
  2. 前端单页路由《stateman》源码解析
  3. 云设置下如何满足客户的数据安全需求?
  4. 跳转系统设置相关界面的方法
  5. LVS-DR负载均衡-02
  6. 8-7/8 java/redis 客服端
  7. 树的非递归(前序,中序,后序)
  8. 删除oracle 连接进程,如何查看和清除oracle无用的连接进程
  9. java语言cd_java语言
  10. 64位win7/win8/win10系统注册32位控件(.OCX)