c语言,求优化
查看原帖
c语言,求优化
1446532
a206692523楼主2024/10/15 20:30
#include <stdio.h>
#include <string.h>
#define judge a[i+1]>a[i-1]&&a[i]=='-'&&((a[i-1]>='0'&&a[i-1]<='9'&&a[i+1]>='0'&&a[i+1]<='9')||(a[i-1]>='a'&&a[i-1]<='z'&&a[i+1]>='a'&&a[i+1]<='z'))
int main()
{
	int p1,p2,p3,i,j,k;
	scanf("%d %d %d",&p1,&p2,&p3);
	
	char a[105]={0};
	scanf("%s",&a);
	//当 p1 为 3 时; 
	if( p1==3 ){
		for( i=0; a[i]!='\0'; i++){
			if(judge){
				for( k=a[i-1]+1; k<a[i+1]; k++){
					for( j=0; j<p2; j++){
						printf("*");
					}
				}
			} else {
				printf("%c",a[i]);
			}
		}
	} else if( p3==1 ) {	
		for( i=0; a[i]!='\0'; i++){
			if(judge){
				for( k=a[i-1]+1; k<a[i+1]; k++){
					for( j=0; j<p2; j++){
						if (p1==2 && a[i-1]>='a'&&a[i-1]<='z'){
							printf("%c",k-32);
						} else {
							printf("%c",k);
						}
					}
				}
			} else {
				printf("%c",a[i]);
			}
		}
	} else if( p3==2 ) {	
		for( i=0; a[i]!='\0'; i++){
			if(judge){
				for( k=a[i+1]-1; k>a[i-1]; k--){
					for( j=0; j<p2; j++){
						if (p1==2 && a[i-1]>='a'&&a[i-1]<='z'){
							printf("%c",k-32);
						} else {
							printf("%c",k);
						}
					}
				}
			} else {
				printf("%c",a[i]);
			}
		}
	}
	return 0;
}
2024/10/15 20:30
加载中...