全国计算机等级考试C语言上机考试专业辅导二

文章作者 100test 发表时间 2007:03:10 17:26:18
来源 100Test.Com百考试题网


编一C程序,它能读入集合A的一串整数(以-9999为结束标记,整数个数小于1000) 和集合B的一串整数(以-9999为结束标记,整数个数小于1000),计算出A与B的交集,并以由小到大的次序输出A与B的交集中的所有整数(输入整数时,相邻的两个用空格隔开。 为A或B输入时,同一个数可能出现多次,而A与B的交集中同一个数不能出现多次)。 (注:程序的可执行文件名必须是 e2.exe)

  //注意调试程序时要多输入重复数据调试;本程序是根据青龙提供的程序改编,消除了重复数据的错误!;

 #include
 #include

 void BuCountbbleSort(int r[],int n)
 {//冒泡排序
 int i,j,k.
 int exchange.
 for(i=0.i<=n.i )
 {
 exchange=0.
 for(j=n-1.j>=i.j--)
 if(r[j 1] {
 k=r[j 1].
 r[j 1]=r[j].
 r[j]=k.
 exchange=1.
 }
 if(!exchange)
 break.
 }
 }


 int BingJi(int m[],int n[],int l[],int Countaa,int Countbb)
 {//求集合的并集
 int i=0,j=0,k=0.
 while(i<=Countaa&.&.j<=Countbb)
 {
 if(m[i] {//如果 m[i] l[k]=m[i].
 k .
 i .
 }//endif
 else if(m[i]>n[j]) 中国公务网 2004-5-27 22:11:50
 {//如果 m[i]>n[j]则取小的值n[j],然后j .
 l[k]=n[j].
 k .
 j .
 }//end elseif
 else
 {//如果 m[i]==n[j],可以任取一个值,然后i .j .
 l[k]=m[i].
 k .
 i .
 j .
 }//endelse
 }//endwhile

 if(i>Countaa)
 {//如果i>Countaa,即数组m[i]中的元数个数较少,
 //则把n[j]中的剩余元素,都付给l[]。
 while(j<=Countbb)
 {
 l[k]=n[j].
 j .
 k .
 }//endwhile
 }//endif

 if(j>Countbb)
 {//如果j>Countbb,即数组n[i]中的元数个数较少,
 //则把m[j]中的剩余元素,都付给l[]。
 while(i<=Countaa)
 {
 l[k]=m[i].
 i .
 k .
 }//endwhile
 }//endif

 return k.//返回生成的数组的元数个数
 }//end BuCountbbleSort

 int JiaoJi(int m[],int n[],int l[],int Countaa,int Countbb)
 {//求集合的交集



相关文章


C语言函数大全(g开头)
云南06计算机等级考试6月25日报名截止
全国计算机等级考试C语言上机考试专业辅导二
关于2006年下半年全国计算机等级考试
全国计算机等级考试C语言上机考试专业指导一
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛