Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
123291 凌愉晴 字符串的展开 C++ 通过 100 0 MS 256 KB 946 2024-01-22 19:45:57

Tests(10/10):


#include <cstdio> #include <cstring> #include <iostream> using namespace std; int n,p1,p2,p3; char s[205]; void onechar(int k){ int i; char c=(char)k; if (p1==2 && islower(c)) c-=32; if (p1==3) c='*'; for (i=1;i<=p2;i++) printf("%c",c); } void expand(int b,int e){ int i; if (p3==1) for (i=b+1;i<e;i++) onechar(i); if (p3==2) for (i=e-1;i>b;i--) onechar(i); } int main(){ scanf("%d %d %d\n",&p1,&p2,&p3); gets(s); n=strlen(s); int i,a,b; for (i=0;i<n;i++){ if (s[i]!='-' || i==0 || i==n-1) printf("%c",s[i]); else{ a=s[i-1]; b=s[i+1]; if ((isdigit(a)&&isdigit(b) || islower(a)&&islower(b))&&(b-a>1)) expand(a,b); else if (b-a!=1) printf("%c",s[i]); } } return 0; }


测评信息: