【C语言】字符操作 计算子字符串首次出现在母字符串的位置

【C语言】字符操作 计算子字符串首次出现在母字符串的位置

/*编写完整的程序。采用顺序存储方式存储串,计算一个子串在字符串中首次出现的位置,输出这个下标。
输入说明:字符串ms 字符串zs
输出说明:zs在ms中首次出现下标
输入样例:baadefaadcb aadc
输出样例:6					*/

#include<stdio.h>
#include<string.h>							//字符操作头文件

int main()
{
	char m[128],z[128];						//定义字符数组 
	int M_size,Z_size,i,j,s=0,sum[128];
	printf("请输入字符串m和字符串z:\n");
	scanf("%s %s",m,z);
	M_size=strlen(m);						//计算数组大小 
	Z_size=strlen(z);

	for(i=0;i<Z_size;i++)		//判断z数组中与m数组中字符是否相等,若相等把m数组相应下标放到一个数组中 
	{
		for(j=0;j<M_size;j++)
		{
			
			if(m[j]==z[i])
			{
				sum[i]=j;
				s++;
				break;
			}
			
			
		} 
	} 

	if((s==Z_size)&&(sum[1]==sum[0]+1))						//判断 Z数组中与m数组中字符相等的个数并判断相等字符是否连续 
	{
		printf("字符串z首次出现在字符串m的下标:%d",sum[0]);
	}
	else
		printf("输入的字符串m和字符串z无关联");
	return 0;
	
}

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值