hdu 2100 lovekey

来源:互联网 发布:淘宝怎么心极多点 编辑:程序博客网 时间:2024/06/15 06:15
/*着道题错了很多次,最后看别人的测试数据了,自己的想出来的测试数据都过了,就是这对数据不过  ZZZ  B然后我就知道哪里错了,原来我少了判断BAAA这种输出情况了 */ #include<cstdio>#include<algorithm>#include<iostream>#include<cstring>using namespace std;int main(){char str1[300],str2[300],str[300];int i,j;int k1,k2;int t,p;memset(str1,0,sizeof(str1));memset(str2,0,sizeof(str2));while(scanf("%s%s",str1,str2)!=EOF){k1=strlen(str1)-1;k2=strlen(str2)-1;memset(str,0,sizeof(str));//对str数组初始化 t=0;p=0;for( ;k1>=0||k2>=0;k1--,k2--)//这一步跟大数相加一样的 {if(k1>=0&&k2>=0){str[t]=str1[k1]+str2[k2]-'A'+p;}if(k1>=0&&k2<0){str[t]=str1[k1]+p;}if(k1<0&&k2>=0){str[t]=str2[k2]+p;}p=0;if(str[t]>'Z'){p=1;str[t]=str[t]-26;}t++;}if(p==1)//注意判断有p还是无p,两种输出方式,我就是在这里wrong了很多次 {printf("B");for(i=t-1;i>=0;i--)printf("%c",str[i]);printf("\n");continue;}for(i=t-1;i>=0;i--)if(str[i]!='A')break;if(i==-1){printf("A\n");continue;}for(j=i;j>=0;j--){printf("%c",str[j]);}printf("\n");memset(str1,0,sizeof(str1));//对数组清零 memset(str2,0,sizeof(str2));}return 0;}

0 0