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 idea自动补全键位冲突
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 定制ai直播实时换脸软件
  • ¥100 栈回溯相关,模块加载后KiExceptionDispatch无法正常回溯了
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含
  • ¥15 麒麟V10桌面版SP1如何配置bonding
  • ¥15 Marscode IDE 如何预览新建的 HTML 文件
  • ¥15 K8S部署二进制集群过程中calico一直报错
  • ¥15 java python或者任何一种编程语言复刻一个网页