把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间
#include<stdio.h> #include<string.h> char *Sort(char *str, int len) { if(str==NULL || len<=0 ) return NULL; char *start = str; int i = len - 1; int j = 0; int l = 0; for(; i>=0; i--) { if(str[i]>="A" && str[i]<="Z") { char t = str[i]; int k = i; for(; k<len-1-l; k++) str[k] = str[k+1]; str[k] = t; l++; } } return start; } int main() { char s[] = "";//"aFkJmnVp"; char *ret = Sort(s, strlen(s)); if(ret!=NULL) { printf("%s ", ret); } else { printf("error! "); } return 0; }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。