weixin_58330761 2021-05-17 15:04 采纳率: 33.3%
浏览 360
已采纳

输入两个字符串str1和str2,输出str2在str1中的所有位置,没有则输出no

样例输入: abcabcabc ab 样例输出: 0 3 6

  • 写回答

4条回答 默认 最新

  • CSDN专家-link 2021-05-17 16:35
    关注
    #include <string.h>
    int main() {
    	char ch1[101] = { 0 };
    	char ch2[31] = { 0 };
    	int n, m, i, j;
    	scanf_s("%s", ch1,100);
    	scanf_s("%s", ch2,30);
    	n = strlen(ch1);
    	m = strlen(ch2);
    
    	int pos[100] = { -1 };
    	int npos = -1;
    	for (i = 0; i < n; i++)
    	{
    		for (j = 0; j < m; j++)
    		{
    			if (ch1[i + j] != ch2[j])
    				break;
    		}
    		if (j == m)
    		{
    			npos++;
    			pos[npos] = i;
    		}
    	}
    	if (npos == -1)
    		printf("NO");
    	else
    		for (i = 0; i<=npos; i++)
    			printf("%d ", pos[i]);
    
    
    	return 0;
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退