编写函数从传入的num个字符串中找出最长的一个字符串,并通过形参指针strmax传回结果字符串地址。 输入说明: 字符串 输入说明: 最长的一个字符串 输入示例: a bb ccc dddd eeeee 输出示例: eeeee
时间: 2023-12-03 22:47:03 浏览: 167
获取最长字符串
以下是实现该函数的示例代码:
```c++
#include <iostream>
#include <cstring>
using namespace std;
void findLongestString(char** strings, int num, char** strmax) {
int maxLen = 0;
for (int i = 0; i < num; i++) {
int len = strlen(strings[i]);
if (len > maxLen) {
maxLen = len;
*strmax = strings[i];
}
}
}
int main() {
const int MAX_NUM = 100;
char* strings[MAX_NUM];
int num;
char* strmax = nullptr;
cout << "请输入字符串个数:";
cin >> num;
cout << "请输入这" << num << "个字符串:" << endl;
for (int i = 0; i < num; i++) {
strings[i] = new char[MAX_NUM];
cin >> strings[i];
}
findLongestString(strings, num, &strmax);
cout << "最长的字符串是:" << strmax << endl;
for (int i = 0; i < num; i++) {
delete[] strings[i];
}
return 0;
}
```
该函数接收一个存储字符串的指针数组 `strings`,以及字符串个数 `num`。函数内部遍历所有字符串,找出最长的一个,并将其地址通过形参指针 `strmax` 传回。在主函数中,我们输入字符串个数和所有字符串,然后调用该函数,并输出结果。最后记得释放动态分配的字符串内存。
阅读全文