C 过样例,但0分
查看原帖
C 过样例,但0分
966476
ABtianCD楼主2023/6/21 09:59
#include<stdio.h>

int main(){
	char a[1001];
	int t,i=-1,j,p;
	fgets(a,1000,stdin);
	t=strlen(a);
	while(++i<t){//大小写字母处理  
		if(a[i]>='a'&&a[i]<='z')
			a[i]-=32;
		else if(a[i]>='A'&&a[i]<='Z')
			a[i]+=32;
	}
	int k=t-1;i=-1;
	while(++i<t){//反转字母 
		j=i;
		if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z'){
			while(a[j]>='a'&&a[j]<='z'||a[j]>='A'&&a[j]<='Z'){
				j++;
			}j--;
			for(p=0;p<=(j-i)/2;p++){
				int temp=a[i+p];
				a[i+p]=a[j-p];
				a[j-p]=temp;
			}i=j;
		}
	}
	while(k-->0)//倒序打印  
	printf("%c",a[k]);
	return 0;
}

大致思路是逆序输出,不分单词,反转字母字符串。大小写处理和打印应该没有错误

2023/6/21 09:59
加载中...