#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
getchar();
for(int i=0;i<n;i++)
{
char data[101][102];
char input[10002];
gets(input);
int num=strlen(input);
int num1=sqrt(num);
num1*=num1;
printf("%d %d\n",num,num1);
if(num!=num1)
{
printf("INVALID\n");
continue;
}
int index=0;
for(int j=0;j<sqrt(strlen(input));j++)
{
for(int k=0;k<sqrt(strlen(input));k++)
{
data[j][k]=input[index];
index++;
}
}
for(int j=0;j<sqrt(strlen(input));j++)
{
for(int k=0;k<sqrt(strlen(input));k++)
{
printf("%c",data[k][j]);
}
}
printf("\n");
}
}
return 0;
}
上面是我的程式碼,我明明有判斷如果輸入字串長度不是完全平方數就印出INVALID ,但系統一直過不了這部分,誰可為小弟解惑