柴沟堡网站建设世界著名室内设计案例
最近更新的博客
- 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单
 - 华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典
 - 【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)
 - 华为od机试,独家整理 已参加机试人员的实战技巧
 
文章目录
- 最近更新的博客
 - 使用说明
 - 本期题目:第K个最小码值的字母
 - 题目
 - 输入
 - 输出
 - 示例一
 - 输入
 - 输出
 - 说明
 
- 示例一
 - 输入
 - 输出
 - 说明
 
- Code
 
使用说明
参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。
华为 OD 清单查看地址:https://blog.csdn.net/hihell/category_12225286.html
华为OD详细说明:https://dream.blog.csdn.net/article/details/128980730
本期题目:第K个最小码值的字母
题目
输入一个由n个大小写字母组成的字符串
 按照ASCII码值从小到大进行排序
 查找字符串中第k个最小ASCII码值的字母(k>=1)
 输出该字母所在字符串中的位置索引(字符串的第一个位置索引为0)
 k如果大于字符串长度则输出最大ASCII码值的字母所在字符串的位置索引
 如果有重复字母则输出字母的最小位置索引
输入
第一行输入一个由大小写字母组成的字符串
 第二行输入k,k必须大于0,k可以大于输入字符串的长度
输出
输出字符串中第k个最小ASCII码值的字母所在字符串的位置索引
 k如果大于字符串长度则输出最大ASCII码值的字母所在字符串的位置索引
 如果第k个最小ASCII码值的字母存在重复,则输出该字母的最小位置索引
示例一
输入
AbCdeFG
3
 
输出
5
 
说明
根据ASCII码值排序,第三个ASCII码值的字母为F
 F在字符串中位置索引为5(0为字符串的第一个字母位置索引)
示例一
输入
fAdDAkBbBq
4
 
输出
6
 
说明
根据ASCII码值排序前4个字母为AABB由于B重复则只取B的第一个最小位置索引6
 而不是第二个B的位置索引8
Code
#include <stdio.h>
#include <stdlib.h>
#include <string.h>void solveMethod(char* line, int k);int main() {char line[1001];scanf("%[^\n]%*c", line);int k;scanf("%d", &k);solveMethod(line, k);return 0;
}void solveMethod(char* line, int k) {int len = strlen(line);char* list = (char*) malloc(len * sizeof(char));strcpy(list, line);for (int i = 0; i < len; i++) {for (int j = i+1; j < len; j++) {if (list[i] > list[j]) {char tmp = list[i];list[i] = list[j];list[j] = tmp;}}}char c = (k >= len) ? list[len-1] : list[k-1];printf("%d", (int)(strchr(line, c) - line));free(list);
} 
📢📢📢📢📢📢
💗 你正在阅读 【梦想橡皮擦】 的博客
👍 阅读完毕,可以点点小手赞一下
🌻 发现错误,直接评论区中指正吧
从订购之日起,案例5年内保证更新
- ⭐️ Python 爬虫 120,点击订购 ⭐️
 - ⭐️ 爬虫100例教程,点击订购 ⭐️
 
