快捷搜索: 王者荣耀 脱发

找最长的字符串 (15 分)

7-5 找最长的字符串 (15 分)

本题要求编写程序,针对输入的N个字符串,输出其中最长的字符串。

输入格式: 输入第一行给出正整数N;随后N行,每行给出一个长度小于80的非空字符串,其中不会出现换行符,空格,制表符。

输出格式: 在一行中用以下格式输出最长的字符串:

The longest is: 最长的字符串 如果字符串的长度相同,则输出先输入的字符串。

输入样例: 5 li wang zhang jin xiang 输出样例: The longest is: zhang

#include<stdio.h>
#include<string.h>
int main()
{
          
   
	int n,i;
	char a[100],b[100];	//a→拿来输入的,b→拿来得到最长的字符串
	scanf("%d",&n);
	getchar();	//吃掉空格
	for(i=0;i<n;i++){
          
   
		gets(a);
		if(i==0)
			strcpy(b,a);	//第一此需复制,防止第一个就是最长的情况
		if(strlen(b)<strlen(a))	//若新来的比原来的还要长,那么就复制新来的来覆盖掉原来的
			strcpy(b,a);
	}
	printf("The longest is: ");
	puts(b);
	return 0;
}
经验分享 程序员 微信小程序 职场和发展