提交时间:2024-01-22 19:45:57

运行 ID: 123291

#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; }