这道题一开始因为格式错误WA了很多次,后来一次次的调试还是弄出来了。
#include<stdio.h>
#include<string.h>
char str[100];
int same(char *str,int n)
{
int i,q=0;
for(i=1; i<=n/2; i++)
{
if(n%i==0)
{
int j;
for(j=0; j<n-i; j++)
{
if(str[j]==str[j+i])
{
q=1;
continue;
}
else
{
q=0;
break;
}
}
if(q==1)
return i;
}
}
return n;
}
int main()
{
int i,j,N,k;
scanf("%d",&N);
k=N;
while(N--)
{
int n;
k--;
memset(str,0,sizeof(str));
scanf("%s",str);
n=strlen(str);
if(k!=0)
printf("%d\n\n",same(str,n));
else
printf("%d\n",same(str,n));
}
return 0;
}