C语言编程>第二十周 ④ 下列给定程序中,函数fun的功能是:从N个字符串中找出最长的字符串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。

113 阅读3分钟

例题:下列给定程序中,函数fun的功能是:从N个字符串中找出最长的字符串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。

注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。

代码如下:

#include<stdio.h>
#include<string.h>
#define N 5
#define M 81
char*fun(char(*q)[M])
{
	int i;
	char*p;
	p=q[0];
	for(i=0;i<N;i++)
		if(strlen(p)<strlen(q[i]))
			p=q[i];
	return p;
}
main()
{
	char s[N][M],*longest;
	int i;
	printf("Enter %d line:\n",N);
	for(i=0;i<N;i++)
		gets(s[i]);
	printf("\nThe N string:\n",N);
	for(i=0;i<N;i++)
		puts(s[i]);
	longest=fun(s);
	printf("\nThe longest string:\n");
	puts(longest);
}

输出运行窗口如下:
在这里插入图片描述
本周其他练习

C语言程序设计专栏

C语言编程>第二十周 ① 请补充main函数,该函数的功能是求1+2!+3!+…+N!的和。

C语言编程>第二十周 ② 下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调、次最大数和b[1]中的数对调。

C语言编程>第二十周 ③ 请补充fun函数,该函数的功能是:把字符串s中的字符按字符的ASCII码升序排列,处理后的字符串仍然保存在原串中,字符串及其长度作为函数参数传入。

C语言编程>第二十周 ④ 下列给定程序中,函数fun的功能是:从N个字符串中找出最长的字符串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。

C语言编程>第二十周 ⑤ 请补充main函数,该函数的功能是:如果数组a的前一个元素比后一个元素大,则把它保存在数组b中并输出。

C语言编程>第二十周 ⑥ 请补充main函数,该函数的功能是:打印出满足个位上的数字、十位上的数字和百位上的数字都相等的所有三位数。

C语言编程>第二十周 ⑦ 请补充fun函数,该函数的功能是把数组a中的奇数元素按原来的先后顺序放在原数组后面。

C语言编程>第二十周 ⑧ 下列给定程序中,函数fun的功能是:将n(1≤n≤10)个字符串连接起来,组成一个新串,放在s所指字符串中。

越努力越幸运!
加油,奥力给!!!