Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
138660 hjx211133333 破译邮件 C++ Accepted 0 MS 272 KB 1037 2025-11-29 12:35:11

Tests(1/1):


Code:

#include<cstdio> #include<iostream> #include<cstring> using namespace std; int main() { int m; char s[101]; char a[101]; cin>>m; getchar(); while(m--) { scanf("%s",s); int k=0; int sum=0; for(int i=0;i<strlen(s);i++) //分为3中大情况, { if(s[i]>='0'&&s[i]<='9') //数字的话,里面再细分三种情况 { sum=sum*10+s[i]-'0'; // printf("%d\n",sum); if(s[i+1]>='0'&&s[i+1]<='9') { sum=sum*10+s[i+1]-'0'; a[k++]=sum-1+'A'; //printf("%d***\n",sum-1); i++; sum=0; } else if(s[i+1]=='-'||s[i+1]=='\0') //此陷阱,末尾需要处理 { a[k++]=sum-1+'A'; //printf("%c***\n",sum-1+'A'); sum=0; } else if(s[i+1]=='#') { a[k++]=sum-1+'A'; sum=0; } } else if(s[i]=='-') { continue; } else if(s[i]=='#') { a[k++]=' '; } } //printf("K:%d %c\n",k,a[0]); for(int i=0;i<k;i++) printf("%c",a[i]); printf("\n"); } }