1 条题解
-
0
C :
#include "stdio.h" #include "string.h" char m[1000], c[1000], k[1000]; char change(char ch,int i) { char number,x,a,b; b = k[i]; if ((ch >= 'a') && (ch <= 'z')) { a = 'a'; if ((b >= 'A') && (b <= 'Z')) b = b - 'A' + 'a'; } else a='A'; number = ch - a; x = b - a; if (number < x) number = number + 26; number = number - x + a; return (number); } void work() { int lengthc, lengthk, i, j,tag; lengthk = strlen(k); lengthc = strlen(c); tag = 0; for (i = 0; i <= lengthc; i++) { m[i] = change(c[i], tag); if (tag == lengthk-1) tag = 0; else tag++; } m[lengthc] = '\0'; printf("%s\n", m); } void main() { while (scanf("%s", &k) != EOF) { scanf("%s", &c); work(); } }
C++ :
#include<stdio.h> #include<string.h> int main(){ char c[1001],k[101]; while(scanf("%s",k)!=EOF){ int all; all=strlen(k); scanf("%s",c); int sum=0,t=0,ju=0; while(c[t]!=NULL){ if(sum==all) sum=0; if(c[t]<97) {ju=1; c[t]=c[t]+32; }//大写 else ju=0;//小写 for(int i=97;i<=122;i++){ if(k[sum]<97) k[sum]=k[sum]+32; if((i-97+k[sum]-97)%26+97==c[t]){ if(ju==0) printf("%c",i); else printf("%c",i-32); } } t++; sum++; } printf("\n"); } return 0; }
- 1
信息
- ID
- 1375
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者