- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2967讲解
2967讲解
公共元素公共元素::
公共元素公共元素::
给定三个自然数数组给定三个自然数数组 (长度为(长度为1--100),),求在三个数组中都存在的元求在三个数组中都存在的元
给定三个自然数数组给定三个自然数数组 ((长度为长度为 -- ),),求在三个数组中都存在的元求在三个数组中都存在的元
素,素,-1表示三个数组没有公共元素表示三个数组没有公共元素。。
素素,, 表示三个数组没有公共元素表示三个数组没有公共元素。。
输出输出输出输出::::
输出输出输出输出::::
在一行中按从小到大的顺序输出三个数组的公共元素在一行中按从小到大的顺序输出三个数组的公共元素,元素间以空格,元素间以空格
在一行中按从小到大的顺序输出三个数组的公共元素在一行中按从小到大的顺序输出三个数组的公共元素,,元素间以空格元素间以空格
隔开隔开,最后一个元素后没有空格但有回车,最后一个元素后没有空格但有回车。如果三个数组中没有公共。如果三个数组中没有公共
隔开隔开,,最后一个元素后没有空格但有回车最后一个元素后没有空格但有回车。。如果三个数组中没有公共如果三个数组中没有公共
元素元素,则输出,则输出-1 。。
元素元素,,则输出则输出 。。
2967讲解
思路思路
思路思路
由于需要从小到大输出公共元素由于需要从小到大输出公共元素,因此我们可以先对输入数组进行排,因此我们可以先对输入数组进行排
由于需要从小到大输出公共元素由于需要从小到大输出公共元素,,因此我们可以先对输入数组进行排因此我们可以先对输入数组进行排
序,序,排序可采用排序可采用qsort( )函数完成函数完成。排序后可对三个数组由小到大同时。排序后可对三个数组由小到大同时
序序,,排序可采用排序可采用 函数完成函数完成。。排序后可对三个数组由小到大同时排序后可对三个数组由小到大同时
进行搜索和比较进行搜索和比较,并会出现三种情况,并会出现三种情况::
进行搜索和比较进行搜索和比较,,并会出现三种情况并会出现三种情况::
1. 1. 搜索完成后没有任何公共元素搜索完成后没有任何公共元素搜索完成后没有任何公共元素搜索完成后没有任何公共元素,,,,则输出则输出则输出则输出--11;;;;
搜索完成后没有任何公共元素搜索完成后没有任何公共元素搜索完成后没有任何公共元素搜索完成后没有任何公共元素,,,,则输出则输出则输出则输出 ;;;;
2. 搜索和比较当前元素时发现公共元素搜索和比较当前元素时发现公共元素,则输出该公共元素,则输出该公共元素;;
搜索和比较当前元素时发现公共元素搜索和比较当前元素时发现公共元素,,则输出该公共元素则输出该公共元素;;
3. 搜索和比较当前元素时没有发现公共元素搜索和比较当前元素时没有发现公共元素,则找到三个数组当前元,则找到三个数组当前元
搜索和比较当前元素时没有发现公共元素搜索和比较当前元素时没有发现公共元素,,则找到三个数组当前元则找到三个数组当前元
素的最大一个素的最大一个,用其比较另外两个数组之后的元素,用其比较另外两个数组之后的元素 。。
素的最大一个素的最大一个,,用其比较另外两个数组之后的元素用其比较另外两个数组之后的元素。。
2967讲解
• 主函数主函数
主函数主函数
#include stdio.h
#include stdlib.h
void solve();
intint main()main()
{
int i,t; scanf(%d,t);
for (i=0;it;i++)
{
printf(case #%d:\n,i);
solve();
}
return 0;
}
2967讲解
• 输入数据输入数据
输入数据输入数据
void solve()
{
int la, lb, lc, ia, ib, ic, a[100], b[100], c[100];
/* inpu
文档评论(0)