有一个由大小写组成的字符串,现在需要对它进行修改,将其中的所有小写字母排在大写字母的前面(大写或小写字母之间不要求保持原来次序)。 // swapString.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <string.h> void swapString(char* str,int len){ char* p=str,*q=str+len-1; while (p<q) { while(*p>='a'&&*p<='z'){ printf("p:%c/n",*p); p++; } while(*q>='A'&&*q<='Z'){ printf("q:%c/n",*q); q--; } printf("fuck,%c,%c/n",*p,*q); printf("%s/n",str); char t=*p; *p=*q; *q=t; p++; q--; printf("%s/n",str); } } void swapString1(char* str,int len){ int i=-1; int j=0; for (j=0;j<len;j++) { if (str[j]<='z' && str[j]>='a') { i++; char t=str[i]; str[i]=str[j]; str[j]=t; } } } int main(int argc, char* argv[]) { char p[]="GiihHKJHJhjHKhKhHhHkHkjhKJHKJHKhkHjhJKhkjyiuyiHIII"; swapString(p,strlen(p)); printf("%s/n",p); return 0; }