前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2019阿里笔试题目

2019阿里笔试题目

作者头像
全栈程序员站长
发布2022-08-31 19:55:00
1290
发布2022-08-31 19:55:00
举报

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

输入:

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

输出:

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

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

代码语言:javascript
复制
#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.cn/142520.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档