讨论 / 为什么没有输出?
121422 2014-08-26 20:19:28
点我顶贴 收藏 删除
#include<stdio.h>

#include<string.h>

int main()

{

char k[100],c[1000];

int a[1000]={0},ki[100],ci[1000],lenk,lenc,i,j,m,f=1;

char h='a',g='z';

scanf("%s%s",k,c);

lenk=strlen(k);

lenc=strlen(c);

for(i=0;i<lenc;i++)

{

if(i<lenk)

{

if((int)g-(int)k[i]>26) k[i]=(char)((int)k[i]+32);

ki[i]=(int)k[i]-(int)h+1;

if((int)g-(int)c[i]>26) {c[i]=(char)((int)c[i]+32); a[i]=1;}

ci[i]=(int)c[i]-(int)h+1;

}

else

{

if((int)g-(int)c[i]>26) {c[i]=(char)((int)c[i]+32); a[i]=1;}

ci[i]=(int)c[i]-(int)h+1;

}

}

for(i=0;i<lenc;i++)

{

if(i<f*lenk)

{if(ci[i]+1-ki[m]>=0) j=ci[i]+1-ki[m]+96;

else j=ci[i]+1-ki[m]+96+26;

if(a[i]==1) j=j-32;

printf("%c",j);

m++;

}

else

{

m=0;

i--;

f++;

}

}

while(1);

return 0;

}

用给的范例验算明明就对了啊

#1 121422@2014-08-27 00:28:01
回复 删除
测试点1 Unaccepted / 在1行选手输出与标准输出存在差异

标准输出

选手输出

测试点2 Unaccepted / 在1行选手输出与标准输出存在差异

标准输出

选手输出

测试点3 Unaccepted / 在1行选手输出与标准输出存在差异

标准输出

选手输出

测试点4 Unaccepted / 在1行选手输出与标准输出存在差异

标准输出

选手输出

测试点5 Unaccepted / 在1行选手输出与标准输出存在差异

标准输出

选手输出

测试点6 Unaccepted / 在1行选手输出与标准输出存在差异

标准输出

选手输出

测试点7 Unaccepted / 在1行选手输出与标准输出存在差异

标准输出

选手输出

测试点8 Unaccepted / 在1行选手输出与标准输出存在差异

标准输出

选手输出

测试点9 Unaccepted / 在1行选手输出与标准输出存在差异

标准输出

选手输出

测试点10 Unaccepted / 在1行选手输出与标准输出存在差异

标准输出

选手输出

#2 121422@2014-08-27 00:32:15
回复 删除
感谢您进来,我已发现错误,在printf上面的if那里
查看更多回复
提交回复