0分,大佬帮忙看看,不知道哪里错了
查看原帖
0分,大佬帮忙看看,不知道哪里错了
1248957
qjyyy楼主2023/12/27 19:11
#include<stdio.h>
#include<string.h>
int main()
{
	char string[6010];
	scanf("%[^\n]",string);
	printf("%s",string);
	int i;
	for(i=(strlen(string)-1);i>=0;i--){
		if(string[i]>='A' && string[i]<='Z'){
			string[i]+=32;
			continue; 
		}
		if(string[i]<='z' && string[i]>='a'){
			string[i]-=32;
			continue;
		}
	}
	int k=-1; 
	int p;
	for(i=(strlen(string)-1);i>=0;i--){
		if(k==-1 && string[i]>='0' && string[i]<='9'){
		    k=i;
			continue;
		}
		if(k!=-1){
			if((string[i]<'0' || string[i]>'9')||(i==0)){
				if(i==0){
					p=0;
				}
				else p=i+1;
				int m=(k+p)/2;
       	        for(int n=k;n>m;n--){
	             	char temp=string[n];
	            	string[n]=string[k+p-n];
      	        	string[k+p-n]=temp;
            	}
            	k=-1;
	    	} 	
	    	else continue;
		}	
	}
	int n=-1;
	int m;
	for(i=(strlen(string)-1);i>=0;i--){
    	if(n==-1 && string[i]!=' '){
	        n=i;
	    	continue;
	    }
		if((n!=-1 && string[i]==' ')||(i==0)){
			if(i!=0){
				m=i+1;
			}
			if(i==0){
				m=i;
			}
			for(int j=m;j<=n;j++){
				putchar(string[j]);
			}
			printf(" ");
			n=-1;
		}	
	}
	return 0;
} 
2023/12/27 19:11
加载中...