习题3-4 周期串

/*
	有两种情况:1.abcabc之类  2.abcabgabcabg之类 
		
*/
#include"stdio.h"
#include"string.h"
#define maxn 85
int 
	main()
	
	{
		char A[maxn];
		
		while(scanf("%s",A)==1)
			{
				int i=0,n=0,p=1;
				while(1)
				{
				
				if(A[0]!=A[++i]) ;   /*只有当A[0]和一个元素相同时,才能初步判断有可能是周期,
		所以在没有相同时,继续循环判断 */ 	
				else 
				{
					int k;
					
					for(k=i;k<strlen(A)-1;)
						if(A[++n]!=A[++k])
							{ 
								while(1)
								{
									if(A[++k]==A[0])  break;
								}
								p=0;
								break;	
							}
								
					if(p)  //判断一二种情况 ,属于哪种 
						{
							printf("%d\n",i);
							break;
						}
					else 
						{
							printf("%d\n",k);
							break;
						}
				}
				}
				
			}
			return 0;
	 } 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值