编写函数求出字符串最大元素和下标并返回

如题所述

我下面用分别用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。


即使是别的编程语言,逻辑是共通的,希望能帮到你。

温馨提示:答案为网友推荐,仅供参考
相似回答