求助C的wrong answer
给你K个字符串,请求出它们的最长公共前缀。输入第一行是一个整数N,表示测试样例的个数。每个测试样例的第一行是一个整数K(2 <= k <= 20),表示有多少个字符串;以后每行是一个字符串,每个字符串的长度不超过200个字符。 输出每行输出一个样例的结果。先输出“Case #: ”,其中’#’为样例的序号(从1开始),冒号为英文冒号,后接一个空格;然后是对应样例的结果。如果没有公共前缀,则无需输出前缀,但Case信息仍需要输出。
Sample Input
2
3
ACD
ACDEF
ACDFE
2
ABC
BCD
Sample Output
Case 1: ACD
Case 2:
我的代码是:
#include<stdio.h>
#include<string.h>
void main()
{
int len,i,k,n,count=1;
char s[205],p[205];
scanf("%d",&n);
getchar();
while(n--)
{
scanf("%d",&k);
getchar();
gets(p); //获得第一个串 设为公共串
k--;
while(k--)
{
gets(s);
for(i=0;s[i]==p[i];i++); //获得的每个串与公共串比较
len=i;
if(len==0)
break;
p[len]='\0'; //更新公共串
}
printf("Case %d: ",count++);
if(len)
{
for(i=0;p[i]!='\0';i++)
printf("%c",p[i]);
}
printf("\n");
}
}
一直Wrong Anwser 为什么?
一直wrong