PAT乙级1048 数字加密
2017-11-25 15:26
417 查看
这道题要注意输出顺序的问题,另外如果用cin输入,由于A,B之间有空格的原因,A.length()会比实际长度大1
#include <iostream> #include <string> #include <vector> using namespace std; int reverse(string s,int t[]){ for(int i=0;i<s.length();i++){ t[i]=s[s.length()-i-1]-'0'; } return 0; } int main(){ int len; string A,B,C="0"; int vA[100],vB[100]; char vC[100],sA[100],sB[100]; int num; cin>>A>>B; len=A.length()>=B.length()? A.length():B.length(); reverse(A,vA); reverse(B,vB); if(A.length()<len){ for(int i=A.length();i<len;i++){ vA[i]=0; } } if(B.length()<len){ for(int i=B.length();i<len;i++){ vB[i]=0; } } for(int i=len-1;i>=0;i--){ if((i+1)%2==1){ num=(vA[i]+vB[i])%13; if(num==10){ vC[i]='J'; }else if(num==11){ vC[i]='Q'; }else if(num==12){ vC[i]='K'; }else{ vC[i]=num+'0'; } }else{ num=vB[i]-vA[i]; if(num<0){ num+=10; } vC[i]=num+'0'; } cout<<vC[i]; } return 0; }
相关文章推荐
- PAT乙级—1048. 数字加密(20)-native
- 乙级 PAT 1048. 数字加密(20)
- PAT乙级1048. 数字加密(20)
- 1048. 数字加密(20)-浙大PAT乙级真题java实现
- [PAT-乙级]1048.数字加密
- PAT乙级1048(C语言)-数字加密(20)
- PAT乙级 1048. 数字加密(20)
- PAT 乙级 1048. 数字加密(20) Java版
- 1048. 数字加密(20) PAT乙级真题
- pat乙级1048. 数字加密(20)
- PAT-乙级-1048. 数字加密(20)
- PAT乙级 1048. 数字加密(20)
- 1048. 数字加密(20)PAT乙级
- PAT 乙级 1048. 数字加密(20)
- PAT乙级 1048. 数字加密(20)
- PAT 乙级 1048. 数字加密(20)
- 1048. 数字加密(20)-浙大PAT乙级真题
- PAT乙级.1048. 数字加密(20)
- pat 乙级 1048. 数字加密(20)
- [PAT乙级]1048. 数字加密(20)