练习-编写函数输入一批字符串,输出其中最长的字符串.#include <stdio.h> #include<string.h> #define M 100 #define N 80 void inputarr (char array[ ][N] , int n); int maxlenstr (char array[ ] [N] , int n); int mystrlen(const char str[ ]);
时间: 2023-07-31 09:05:42 浏览: 180
编写一个程序,求字符串的长度
5星 · 资源好评率100%
下面是一个实现输入一批字符串,输出其中最长的字符串的示例代码:
```
#include <stdio.h>
#include <string.h>
#define M 100
#define N 80
void inputarr(char array[][N], int n);
int maxlenstr(char array[][N], int n);
int mystrlen(const char str[]);
int main() {
char array[M][N];
int n, maxlen;
printf("请输入字符串个数:");
scanf("%d", &n);
inputarr(array, n);
maxlen = maxlenstr(array, n);
printf("最长的字符串是:%s\n", array[maxlen]);
return 0;
}
void inputarr(char array[][N], int n) {
int i;
printf("请输入%d个字符串:\n", n);
for (i = 0; i < n; i++) {
scanf("%s", array[i]);
}
}
int maxlenstr(char array[][N], int n) {
int i, maxlen = 0, maxindex = 0;
for (i = 0; i < n; i++) {
if (mystrlen(array[i]) > maxlen) {
maxlen = mystrlen(array[i]);
maxindex = i;
}
}
return maxindex;
}
int mystrlen(const char str[]) {
int len = 0;
while (str[len] != '\0') {
len++;
}
return len;
}
```
这个程序中,首先定义了一个二维字符数组 `array`,用于存储输入的字符串。然后通过 `inputarr()` 函数输入这些字符串。接着,通过 `maxlenstr()` 函数找到其中最长的字符串所在的位置,最后输出该字符串即可。
需要注意的是,在输入字符串时,我们使用了 `scanf()` 函数,这个函数可以读取以空格或回车分隔的字符串,但是如果输入的字符串中有空格,那么空格后面的内容就会被忽略。
阅读全文