1170: 最长字符串(指针专题)

2023-04-27 20:54:14 浏览数 (1)

题目描述

输入多个字符串,输出最长字符串。要求定义并使用函数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]);
		}
	}
}

0 人点赞