答案都对的 为啥0分?(显示WA too short on line 1)
查看原帖
答案都对的 为啥0分?(显示WA too short on line 1)
918963
wcq922106840206楼主2023/1/9 21:22
#include <iostream>
#include <string.h>
using namespace std;
void zimu(char x,char y,int p1,int p2,int p3);
void shuzi(char x,char y,int p1,int p2,int p3);
int main(){
	int p1,p2,p3;
	cin>>p1>>p2>>p3;
	char a[101];
	char buf[1];
	cin.getline(buf,1); //把回车符读掉  感觉就是这里出了问题? 
	cin.getline(a,101);
	int len=strlen(a);
	for(int i=0;i<len;i++){
		if(a[i]!='-')
			cout<<a[i];
		else{
			if(a[i-1]>=97&&a[i+1]>a[i-1])
				zimu(a[i-1],a[i+1],p1,p2,p3);	
			else if(a[i-1]>=48&&a[i+1]<=57&&a[i+1]>a[i-1])
				shuzi(a[i-1],a[i+1],p1,p2,p3);
			else
				cout<<a[i];	
		}						
	}
	return 0;
}
void shuzi(char x,char y,int p1,int p2,int p3){
	int num=y-x-1;
	if(p3==1){
		for(int i=1;i<=num;i++){
			for(int j=1;j<=p2;j++){
				if(p1==3)
					cout<<'*';
				else{
					char a=x+i;
					cout<<a;
				}		
			}			
		}
	}
	else{
		for(int i=num;i>=1;i--){
			for(int j=1;j<=p2;j++){
				if(p1==3)
					cout<<'*';
				else{
					char a=x+i;
					cout<<a;
				}		
			}
		}
	}		
}
void zimu(char x,char y,int p1,int p2,int p3){
	int num=y-x-1;
	if(p3==1){
		for(int i=1;i<=num;i++){
			for(int j=1;j<=p2;j++){
				if(p1==1){
					char a=x+i;
					cout<<a;
				}	
				else if(p1==2){
					char a=x+i-32;
					cout<<a;
				}				
				else
					cout<<'*';
			}
		}
	}
	else{
		for(int i=num;i>=1;i--){
			for(int j=1;j<=p2;j++){
				if(p1==1){
					char a=x+i;
					cout<<a;
				}	
				else if(p1==2){
					char a=x+i-32;
					cout<<a;
				}				
				else
					cout<<'*';
			}
		}
	}		
}
2023/1/9 21:22
加载中...