40分了,我的2.0代码:
查看原帖
40分了,我的2.0代码:
913288
3_14楼主2024/2/27 21:37

有人帮我再看看吗?

#include<bits/stdc++.h>
using namespace std;
int p1,p2,p3;
string s;
int isAllC(char c){
	if('0'<=c&&c<='9'){
		return 1;
	}else if('a'<=c&&c<='z'){
		return 2;
	}else{
		return 3;
	}
}
int main(){
	cin>>p1>>p2>>p3>>s;
	int ls=s.size();
	for(int i=0;i<ls-1;i++){
		if(s[i+1]=='-'){
			if(s[i]+1==s[i+2]){
				cout<<s[i];
				i+=2;
			}else if(s[i+2]<=s[i]&&isAllC(s[i])==isAllC(s[i+2])){
				cout<<s[i]<<'-';
				i+=2;
			}else if(isAllC(s[i])!=isAllC(s[i+2])){
				cout<<s[i]<<'-';
			}else{
				cout<<s[i];
				if(p3==1){
					if('0'<=s[i]&&s[i]<='9'){
						for(int j=s[i]+1;j<s[i+2];j++){
							for(int k=0;k<p2;k++){
								cout<<char(j); 
							}
						}
					}else{
						if(p1==1){
							for(int j=s[i]+1;j<s[i+2];j++){
								for(int k=0;k<p2;k++){
									char isc=char(j);
									cout<<('a'<=isc&&isc<='z'?isc:char(isc+32));
								}
							}
						}else if(p1==2){
							for(int j=s[i]+1;j<s[i+2];j++){
								for(int k=0;k<p2;k++){
									char isc=char(j);
									cout<<('A'<=isc&&isc<='Z'?isc:char(isc-32));
								}
							}
						}else{
							for(int j=s[i]+1;j<s[i+2];j++){
								for(int k=0;k<p2;k++){
									cout<<'*';
								}
							}
						}
					}
				}else{
					if('0'<=s[i]&&s[i]<='9'){
						for(int j=s[i+2]-1;j>=s[i]+1;j--){
							for(int k=0;k<p2;k++){
								cout<<char(j); 
							}
						}
					}else{
						if(p1==1){
							for(int j=s[i+2]-1;j>=s[i]+1;j--){
								for(int k=0;k<p2;k++){
									char isc=char(j);
									cout<<('a'<=isc&&isc<='z'?isc:char(isc+32));
								}
							}
						}else if(p1==2){
							for(int j=s[i+2]-1;j>=s[i]+1;j--){
								for(int k=0;k<p2;k++){
									char isc=char(j);
									cout<<('A'<=isc&&isc<='Z'?isc:char(isc-32));
								}
							}
						}else{
							for(int j=s[i+2]-1;j>=s[i]+1;j--){
								for(int k=0;k<p2;k++){
									cout<<'*';
								}
							}
						}
					}
				}
			}
			i++;
		}else{
			cout<<s[i];
		}
	}
	cout<<s[ls-1];
	return 0;
}
2024/2/27 21:37
加载中...