估值一亿的AI核心代码测试点1和测试点4答案错误 有人可以教一下吗
#include<stdio.h>
#include<string.h>
int panduan(char x){
if((x>='0'&&x<='9')||(x>='a'&&x<'z')||(x>='A'&&x<'Z')) return 0;
else return 1;
}
int main(){
int n,i,j,k,len;
scanf("%d",&n);
getchar();
for(j=0;j<n;j++){
char a[1005]={0},b[1005]={0};
for(i=0;;i++){
scanf("%c",&b[i]);
if(b[i]=='\n') break;
printf("%c",b[i]);
}
printf("\n");
printf("AI: ");
len=strlen(b);
len=len-2;
k=0;
for(i=0;i<=len;i++){
if(b[i]==' '&&panduan(b[i+1])){
continue;
}
a[k]=b[i];
k++;
}
k--;
for(i=0;i<=k;i++){
if((a[i]>='A'&&a[i]<'I')||(a[i]>'I'&&a[i]<='Z')){
a[i]=a[i]+'a'-'A';
}
if(a[i]=='?'){
a[i]='!';
}
if(a[i]==' '&&i==0) continue;
if(a[i]==' '&&i==k) continue;
if((i==0||panduan(a[i-1]))&&a[i]=='c'&&a[i+1]=='a'&&a[i+2]=='n'&&a[i+3]==' '&&a[i+4]=='y'&&a[i+5]=='o'&&a[i+6]=='u'&&panduan(a[i+7])){
printf("I can");
i=i+6;
continue;
}
if((i==0||panduan(a[i-1]))&&a[i]=='c'&&a[i+1]=='o'&&a[i+2]=='u'&&a[i+3]=='l'&&a[i+4]=='d'&&a[i+5]==' '&&a[i+6]=='y'&&a[i+7]=='o'&&a[i+8]=='u'&&panduan(a[i+9])){
printf("I could");
i=i+8;
continue;
}
if((i==0||panduan(a[i-1]))&&a[i]=='I'&&panduan(a[i+1])){
printf("you");
continue;
}
if((i==0||panduan(a[i-1]))&&a[i]=='m'&&a[i+1]=='e'&&panduan(a[i+2])){
printf("you");
i=i+1;
continue;
}
printf("%c",a[i]);
}
printf("\n");
}
return 0;
}