题目
本题是中国海洋大学2022年研究生入学考试930程序设计基础编程题第5题。
题目:
(1)定义一个函数fun(),作用是从至多10个字符串中找出最长字符串,并通过形参*maxlen返回给主函数。
(2)定义主函数调用fun函数,输入字符串时最多允许输入10个字符串,且不想输入时可以通过输入****
表示输入结束(15分)
以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同进步。——来自考研路上的lwj。QQ:2394799692
一、解题思路
1,在find函数中用使用for循环遍历整个二维字符数组中的所有字符串。
2,将最长的字符串找出来
3,将其值拷贝到形参maxlen中即可
二、代码部分
1.引入库
代码如下(示例):
#include<stdio.h>
#include<string.h>
2.主函数部分
代码如下(示例):
int i;
void fun(char a[][100], int x, char* maxlen)
{
int max = 0;
for (i = 1; i < x; i++)
if (strlen(a[max]) < strlen(a[i]))
max = i;
strcpy(maxlen, a + max);
}
void main()
{
char a[10][100], s[10], maxlen[100];
for (i = 0; i < 10; i++)
{
printf("请输入第%d个字符串:",i+1);
gets(a[i]);
//这一步是判断字符串是否结束,调试遇到了一点bug,回头再修复,其他功能都正常
/* printf("是否继续输入字符串?是输入1,否输入****:");
gets(s);
if (strcmp(s,"****") == 0)
break;*/
}
fun(a, i, maxlen);
printf("最长的字符串为:");
puts(maxlen);
}
三、执行结果
输入:
请输入第1个字符串:a
请输入第2个字符串:ab
请输入第3个字符串:abc
请输入第4个字符串:abcd
请输入第5个字符串:a
请输入第6个字符串:abc
请输入第7个字符串:abcdefg
请输入第8个字符串:a
请输入第9个字符串:ab
请输入第10个字符串:a
输出:
最长的字符串为:abcdefg
四、个人感想
难易程度:偏难
这道题我是这样写在试卷上的,不过今天在调试时遇到了一些bug,调试了半个小时也没找到是哪里错了,如果有大佬的话可以指点一行,就是我注释掉的那块代码。不过考试这样写在纸上也能描述出题目要求的功能了。