#include "stdio.h"
#include "string.h"
void sort(char ch[],int count[],int n,int flag);
int main(){
char a[110],*k;
int count[110],i,n,j,flag,sum=0;
while(~scanf("%s",a)){
n=strlen(a);
k=&a[0];
flag=0;
if(*k<=‘Z‘&& ‘A‘<=*k){
*k=*k+32;
flag++;
}
for(i=0;i<n;i++){
if(a[i+1]<=‘Z‘&& ‘A‘<=a[i+1]){
if(*k<a[i+1]+32){
k=&a[i+1];
}
}
else{
if(*k<a[i+1])
k=&a[i+1];
}
}
j=0;
for(i=0;i<n;i++){
if(a[i]<=‘z‘&&‘a‘<=a[i]){
if(*k==a[i]){
sum++;
count[j++]=i;
}
}
else if(a[i]<=‘Z‘&& ‘A‘<=a[i]){
if(*k==(a[i]+32)){
sum++;
count[j++]=i;
}
}
}
sort(a,count,n,flag);
printf("\n");
}
return 0;
}
void sort(char ch[],int count[],int n,int flag){
int i,j=0;
for(i=0;i<n;i++){
if(flag==0){
if(i!=count[j]){
printf("%c",ch[i]);
}
else if(i==count[j]){
printf("%c(max)",ch[i]);
j++;
}
}
else{
if(i!=count[j] && i!=0){
printf("%c",ch[i]);
}
else if(i==count[j] && i!=0){
printf("%c(max)",ch[i]);
j++;
}
else if(i==0 && i!=count[j]){
printf("%c",ch[i]-32);
}
else if(i==0 && i==count[j]){
printf("%c(max)",ch[i]-32);
j++;
}
}
}
}
原文:http://www.cnblogs.com/sureli/p/5090318.html