题目描述
输入多个字符串,输出最长字符串。要求定义并使用函数maxLenStr(), void maxLenStr(char *str[], int n, int *max) { 从字符串数组str中找出最长的一个字符串,并将其下标存入形参指针max所指内存。 }
输入
输入有多行,每行一个字符串,每个字符串长度不超过80,输入最多不超过100行,用****作为结束输入的标志,该行输入不用处理。
输出
输出最长的一个字符串。
样例输入 Copy
代码语言:javascript复制L love C programming
ACM/ICPC
study hard
****
样例输出 Copy
代码语言:javascript复制L love C programming
代码语言:javascript复制#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void maxLenStr(char *str[],int n,int *max);
int main(){
char *str[101];//指针数组,即字符数组中每个元素均为指针
char s[101];
int i;
int max;
gets(s);
for(i=0; strcmp(s,"****")!=0; i ){
str[i]=(char*)malloc(sizeof(char)*(strlen(s) 1));//为指针(地址)分配对应的内存
strcpy(str[i],s);
gets(s);
}
maxLenStr(str,i,&max);//
puts(str[max]);
return 0;
}
void maxLenStr(char *str[],int n,int *max){//
*max = 0;
int maxlen=0;
for(int i=0;i<n; i ){//比较字符串长度大小
if(strlen(str[i]) > maxlen){
*max=i;
maxlen=strlen(str[i]);
}
}
}