实验11-1-4 计算最长的字符串长度(15 分)
本题要求实现一个函数,用于计算有n个元素的指针数组s中最长的字符串的长度。
函数接口定义:
1
| int max_len( char *s[], int n );
|
其中n
个字符串存储在s[]
中,函数max_len
应返回其中最长字符串的长度。
裁判测试程序样例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| #include <stdio.h> #include <string.h> #include <stdlib.h>
#define MAXN 10 #define MAXS 20
int max_len( char *s[], int n );
int main() { int i, n; char *string[MAXN] = {NULL};
scanf("%d", &n); for(i = 0; i < n; i++) { string[i] = (char *)malloc(sizeof(char)*MAXS); scanf("%s", string[i]); } printf("%d\n", max_len(string, n));
return 0; }
|
输入样例:
输出样例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| #include <stdio.h> #include <string.h> #include <stdlib.h>
#define MAXN 10 #define MAXS 20
int max_len( char *s[], int n );
int main() { int i, n; char *string[MAXN] = {NULL};
scanf("%d", &n); for(i = 0; i < n; i++) { string[i] = (char *)malloc(sizeof(char)*MAXS); scanf("%s", string[i]); } printf("%d\n", max_len(string, n));
return 0; } int max_len(char *s[], int n) { int m=0,i,l; for (i=0; i<n; i++) { l=strlen(s[i]); if(m<l) m=l; } return m; }
|