(C卷,100分)- 输出指定字母在字符串的中的索引
题目描述
给定一个字符串,把字符串按照大写在前小写在后排序,输出排好后的第 K 个字母在原来字符串的索引。
相同字母输出第一个出现的位置。
输入描述
无
输出描述
无
用例
输入 hAkDAjByBq 4
输出 6
说明 排好序后 AABBDhjkqy,第 4 个是 B,第一个出现的在原字符串 6 这个位置。(注:索引是从 0 开始)
题目解析
简单的排序,以及字符串操作考察。
用例中的排序规则其实就是字典序排序。
int cmp(const void *a,const void *b){
return (*(char*)a)-(*(char*)b);
}
int main(){
char s[100];
int k;
scanf("%s %d",s,&k);
int len=strlen(s);
char copy[len];
strcpy(copy,s);
qsort(copy,len,sizeof(char),cmp);
if(k>len) k=len;
char tar=copy[k-1];
printf("%ld",strchr(s,tar)-s);
}