2019阿里笔试题目

2019阿里笔试题目输入:singer_周杰|周杰伦|刘德华|王力宏;song_冰雨|北京欢迎你|七里香;actor_周杰伦|孙俪;请播放周杰伦的七里香给我听输出:请播放周杰伦/singer/actor的七里香/song给我听当场没有写出来,所以也不知道其他样例啥样子,只好先ac了样例再说吧#include<iostream>#include<string&gt…

大家好,又见面了,我是你们的朋友全栈君。

输入:

singer_周杰|周杰伦|刘德华|王力宏;song_冰雨|北京欢迎你|七里香;actor_周杰伦|孙俪;
请播放周杰伦的七里香给我听

输出:

请播放 周杰伦/singer/actor 的 七里香/song 给我听

当场没有写出来,所以也不知道其他样例啥样子,只好先ac了样例再说吧

#include <iostream>
#include <string>

using namespace std;

string str[100][1000];

int main(){
	string input;
	cin >> input;
	string input2;
	cin >> input2;
	int j = 0, m = 0;

	int l = 0;
	for (int i = 0; i < input.length(); i++){ //处理第一句
		if (input[i] == ';' || input[i] == '|' || input[i] == '_'){
			str[j][m].append(input.substr(l, i - l));
			if (input[i] == ';'){
				j++;
				m = 0;
			}
			else
				m++;
			l = i + 1;
			continue;
		}
	}
    //接下来就把样例当做固定格式来处理,即“请播放”,“的”,“给我听”永远不变,然后我的代码就很简单了
	l = 6;
	cout << "请播放 ";
	for (int i = 6; i < input2.length(); i++){
		string t;
		
		if (input2.substr(i, 2) == "的"){
			t = input2.substr(l, i - l);
			cout << t ;
			for (int k = 0; k < j; k++){
				for (int n = 1; str[k][n] != ""; n++){
					if (str[k][n] == t)
						cout << '/' << str[k][0];
				}
			}
			cout << " 的" ;
			l = i + 2;
			t = input2.substr(l, input2.length() - 6 - l);
			cout << t;
			for (int k = 0; k < j; k++){
				for (int n = 1; str[k][n] != ""; n++)
					if (str[k][n] == t)
						cout << '/' << str[k][0];
			}
			cout << " 给我听" << endl;
		}
	}

	return 0;
}

如果有还记得题目的小伙伴或者ac的小伙伴,希望能把题目发给我,我还想继续做>_<

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142520.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sql索引的建立与使用_sqlserver创建索引语句

    sql索引的建立与使用_sqlserver创建索引语句之前在网上看到过很多关于mysql联合索引最左前缀匹配的文章,自以为就了解了其原理,发现遗漏了些东西,这里自己整理一下这方面的内容。1前言SQL索引有两种,聚集索引和非聚集索引聚集索引存储记录是物理上连续存在,而非聚集索引是逻辑上的连续,物理存储并不连续字典的拼音查询法就是聚集索引,字典的部首查询就是一个非聚集索引.聚集索引和非聚集索引的根本区别是表记录的…

    2022年8月30日
    5
  • android对应kernel版本_Ubuntu查看版本

    android对应kernel版本_Ubuntu查看版本1.查看android文件系统版本到build/core/version_plaform.mk中去查询plaform_version的定义值2.查看linux内核版本源码下看下MakefileVERSION=3PATCHLEVEL=0SUBLEVEL=15EXTRAVERSION=NAME=SneakyWeasel

    2022年10月13日
    4
  • ringbuffer的常规用法_wear ring

    ringbuffer的常规用法_wear ring文章目录概述示例引用概述ringbuffer,或者说循环队列,是嵌入式开发中的一个基本模型,常用于命令队列,资源循环分配场合。示例ring_buffer.hringbuffer封装APItestringbuffer.c测试ringbufferapi.//ring_buffer.h#include<stdlib.h>typedefstructs_ring_buffer{ inttail; inthead; intsize; intitem_si

    2025年10月19日
    2
  • Response.ContentType

    Response.ContentType说明一下,类中的HttpContext.Current.Response.ContentType表示要导出文件的类型,下面是对Response.ContentType类型的汇总在ASP.NET中使用R

    2022年7月1日
    19
  • Android学习十九:ContentProvider初步

    Android学习十九:ContentProvider初步

    2022年1月19日
    42
  • python变量命名规则

    python变量命名规则在Python中,变量标记或指向一个值。当遇到变量时,Python将其替换为指向值。>>>cost=2.99>>>.1*cost0.29900000000000

    2022年7月6日
    23

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号