蒟蒻50分,求助!
查看原帖
蒟蒻50分,求助!
464732
luqyou楼主2021/7/23 14:17

本蒟蒻50分的代码,请多多指教!

#include<bits/stdc++.h>
using namespace std;
int p1,p2,p3;
char a[1001];
int main(){
   	cin>>p1>>p2>>p3;
   	cin>>a;
   	for(int i=0;i<100;i++){
   		if(a[i+1]!='-'&&a[i]!='-') cout<<a[i];
   		else if(a[i]==a[i+2]&&a[i+1]=='-'){
   			cout<<a[i]<<"-"<<a[i];
			i+=2;	
		}
		else if(a[i]+1==a[i+2]&&a[i+1]=='-'){
   			cout<<a[i]<<a[i+2];
			i+=2;	
		}
   		else if(a[i]>='a'&&a[i]<='z'&&a[i+2]>='a'&&a[i+2]<='z'&&a[i]<a[i+2]&&p3==1){
   			//cout<<a[i];
   			for(char j=a[i];j<=a[i+2];j++){
   				if(j==a[i]||j==a[i+2]) cout<<j;
				else{
					if(p1==1)
	   					for(int k=1;k<=p2;k++){
	   						cout<<j;
						}
					else{
						for(int k=1;k<=p2;k++) cout<<char(toupper(j));
					}
				}
			}
			//cout<<a[i+2];
			i+=2;
		}
		else if(a[i]>='0'&&a[i]<='9'&&a[i+2]>='0'&&a[i+2]<='9'&&a[i]<a[i+2]&&p3==1){
			cout<<a[i];
			for(char j=a[i]+1;j<=a[i+2]-1;j++){
   				for(int k=1;k<=p2;k++){
   						cout<<j;
				}
			}
			cout<<a[i+2];
			i+=1;
		}
		else if(a[i]>='a'&&a[i]<='z'&&a[i+2]>='a'&&a[i+2]<='z'&&a[i]<a[i+2]&&p3==2){
   			//cout<<a[i];
   			for(char j=a[i+2];j>a[i];j--){
   				if(j==a[i+2]) cout<<a[i];
				else{
					if(p1==1)
	   					for(int k=1;k<=p2;k++){
	   						cout<<j;
						}
					else{
						for(int k=1;k<=p2;k++) cout<<char(toupper(j));
					}
				}
			}
			cout<<a[i+2];
			i+=2;
		}
		else if(a[i]>='0'&&a[i]<='9'&&a[i+2]>='0'&&a[i+2]<='9'&&a[i]<a[i+2]&&p3==2){
			cout<<a[i];
			for(char j=a[i+2]-1;j>=a[i]+1;j--){
   				for(int k=1;k<=p2;k++){
   						cout<<j;
				}
			}
			cout<<a[i+2];
			i+=1;
		}
		else if(a[i]!='-'||(a[i]=='-'&&a[i-1]==a[i+1])||(a[i-1]>='0'&&a[i-1]<='9'&&a[i+1]>='a'&&a[i+1]<='z'&&a[i]=='-')||(a[i-1]>='a'&&a[i-1]<='z'&&a[i+1]>='0'&&a[i+1]<='9'&&a[i]=='-')) cout<<a[i];
	}
    return 0;
}
2021/7/23 14:17
加载中...