mg7938841 2021-06-11 10:55 采纳率: 88.9%
浏览 76
已采纳

关于c++的题目,菜鸟求解答

编写一个以两个字符数组作为输入的函数。如果第二个数组包含在第一个数组中,则函数返回第一个数组中第二个数组开始的第一个索引。如果第二个数组不被包含在第一个数组,然后函数应该return -1

如 输入 [’c’,’a’,’l’,’l’,’i’,’n’,’g’] 和 [’a’,’l’,’l’]  就 return 1.

输入 [’c’,’a’,’l’,’l’,’i’,’n’,’g’] 和 [’a’,’n’] 就 return -1.

  • 写回答

6条回答 默认 最新

  • 抬头见山 2021-06-11 14:20
    关注
    #include <iostream>
    #include <string>
    
    
    using namespace std;
    
    int main()
    {
    	char a[128],b[128];
    	int numA, numB;
    	cout << "请输入第一个数组元素个数:";
    	cin >> numA;
    	cout << "请输入第一个数组元素:";
    	for (int i = 0; i < numA; ++i)
    		cin >> a[i];
            cin.clear();
    	cin.sync();
    	cout << "请输入第二个数组元素个数:";
    	cin >> numB;
    	cout << "请输入第二个数组元素:";
    	for (int i = 0; i < numB; ++i)
    		cin >> b[i];
    	int num = 0;		//第二个数组包含在第一个数组的个数
    	string index;		//存放第二个数组在第一个数组的索引
    	for (int j = 0; j < numB; j++)		//第二个数组的元素与第一数组的元素遍历
    	{
    		for (int k = 0; k < numA; k++)
    		{
    			if (b[j] == a[k])
    			{
    				index += to_string(k);
    				num++;
    				break;
    			}
    		}
    	}
    
    	if (num == numB)	
    	{
    		cout << "第二个数组包含在第一个数组中" << endl;
    		cout << "第一个数组中第二个数组开始的第一个索引为:" << index.substr(0,1) << endl;
    	}
    	else
    		cout << "第二个数组不被包含在第一个数组";
    
    	system("pause");
    	return 0;
    }

     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料