利用fun写
时间: 2024-01-08 18:02:48 浏览: 18
好的,下面是使用函数进行封装的代码,可以更好地复用和维护:
```c++
#include <iostream>
#include <string>
using namespace std;
void findMaxAscii(const string& str, char& maxChar, int& maxIndex) {
int maxAscii = 0;
for (int i = 0; i < str.length(); i++) {
int ascii = (int)str[i];
if (ascii > maxAscii) {
maxAscii = ascii;
maxChar = str[i];
maxIndex = i;
}
}
}
int main() {
string str;
char maxChar;
int maxIndex;
cout << "请输入一个字符串:" << endl;
getline(cin, str);
findMaxAscii(str, maxChar, maxIndex);
cout << "ASCII值最大的字符是:" << maxChar << endl;
cout << "它所在的位置是:" << maxIndex << endl;
return 0;
}
```
这里使用了一个名为 `findMaxAscii` 的函数来封装求 ASCII 值最大的字符及它所在位置的过程。该函数接受一个字符串、一个字符引用和一个整数引用作为参数,分别表示输入的字符串、求得的 ASCII 值最大的字符和它所在的位置。在函数内部,使用循环遍历字符串中的每个字符,求出 ASCII 值最大的那个字符及它所在的位置,然后将结果存储在传入的引用参数中。最后在主函数中调用该函数,输出结果。