我下面用分别用py和C++写两段例子
python
def max_index(s):
max_elem = s[0]
idx = 0
for i in range(1, len(s)):
if s[i] > max_elem:
max_elem = s[i]
idx = i
return max_elem, idx
这个函数的参数是一个字符串 s,返回的结果是一个元组,包含两个元素,第一个元素是字符串中最大的字符,第二个元素是最大字符的下标。
这个函数可以通过以下方式使用:
python
s = 'hello world'
max_elem, idx = max_index(s)
print('最大元素:', max_elem)
print('最大元素下标:', idx)
输出结果:
最大元素: w
最大元素下标: 6
以下是示例代码:
c++
#include<iostream>
#include<string>
using namespace std;
int max_element(string str, int& index){
if(str.empty()) return -1; // 如果字符串为空,返回-1
int max = str[0]; // 用第一个字符初始化最大值
index = 0; // 初始化下标
for(int i=1; i<str.size(); i++){ // 从第二个字符开始遍历
if(str[i] > max){ // 如果当前字符大于最大值
max = str[i]; // 更新最大值
index = i; // 更新下标
}
}
return max; // 返回最大值
}
int main(){
string str = "hello world";
int index;
int max = max_element(str, index);
cout << "最大元素为:" << max << endl;
cout << "最大元素下标为:" << index << endl;
return 0;
}
该函数的输入为一个字符串,输出为字符串中的最大元素和其下标。如果字符串为空,则返回-1。
即使是别的编程语言,逻辑是共通的,希望能帮到你。