50分,#5~#9求助!
查看原帖
50分,#5~#9求助!
721262
yzh091028楼主2024/1/27 21:51
#include<bits/stdc++.h>
using namespace std;
int main(){
    int p1,p2,p3;
    string a;
    cin>>p1>>p2>>p3>>a;
    for(int i=0;i<a.size();i++){
        if(a[i]=='-'){
            if(isalpha(a[i-1]) and isalpha(a[i+1]) and a[i-1]!=a[i+1]){
                if(p1==1){
                    if(p3==1){
                        for(int k=a[i-1]+1;k<a[i+1];k++)
                            for(int j=0;j<p2;j++)cout<<char(tolower(k));}
                    else if(p3==2){
                        for(int k=a[i+1]-1;k>a[i-1];k--)
                            for(int j=0;j<p2;j++)cout<<char(tolower(k));}
                    }
                
                else if(p1==2){
                    if(p3==1){
                        for(int k=a[i-1]+1;k<a[i+1];k++)
                            for(int j=0;j<p2;j++)cout<<char(toupper(k));}
                    else if(p3==2){
                        for(int k=a[i+1]-1;k>a[i-1];k--)
                            for(int j=0;j<p2;j++)cout<<char(toupper(k));}
                    
                }
                else if(p1==3){
                    for(int k=a[i-1]+1;k<a[i+1];k++)
                            cout<<'*';
                
            }
            }
            else if(isdigit(a[i-1]) and isdigit(a[i+1]) and a[i-1]!=a[i+1]){
            	if(p1!=3){
                if(p3==1){
                        for(int k=a[i-1]-'0'+1;k<a[i+1]-'0';k++)
                            for(int j=0;j<p2;j++)cout<<k;}
                    else if(p3==2){
                        for(int k=a[i+1]-1-'0';k>a[i-1]-'0';k--)
                            for(int j=0;j<p2;j++)cout<<i;
                    }}
                else if(p1==3){
                	for(int k=a[i-1]-'0'+1;k<a[i+1]-'0';k++)cout<<'*';
				}
            }
            else cout<<'-';
        }
        else cout<<a[i];
    }
}
2024/1/27 21:51
加载中...