栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言练习(22.6.30

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言练习(22.6.30

程序功能:降序输出两组整数的交集A∩B。

(1)从键盘输入A和B两组整数,每组不超过20个整数,每组整数中的元素不重复,每组数据输入以-1结束。

(2)求两组整数的交集A∩B,即在两组整数中都出现的整数。

(3)若交集不为空,则按从大到小顺序输出;若交集为空,则什么都不输出。

#include 
int main()
{
	int i,j,temp,num,count2=0;//定义循环、临时变量、数值记录变量、计数器
	int A[20]={0},B[20]={0},T[21]={1};//定义A、B、T三个数组并初始化

	for(i=1;i<=20;i++)//给数组A依次赋值,值少于20个
    {scanf("%d",&A[i]);
	T[i]=A[i];
	if(A[i]==-1) {break;}}//检测到-1,停止输入
    temp=i;//储存i的值

	for(i=1;i<=20;i++){//筛选A数组的元素
    for(j=1;j<=i;j++){
		if(i==j||A[i]==0) continue;//如果遇到自身,则舍去
		else
    {if(A[i]==T[j])
    {printf("A组数字重复!n");return 0;}}}}//检测到除了自身外有其他数值和自身相等

	for(j=1;j<=20-temp;j++)//给数组B依次赋值,值少于20-i个
	{scanf("%d",&B[j]);
	T[j]=B[j];
	if(B[j]==-1) break;}
    temp=j;//储存j的值

	for(j=1;j<=20-temp;j++){//同理筛选B的元素
    for(i=1;i<=j;i++){
		if(j==i||B[j]==0) continue;
		else
    {if(B[j]==T[i])
    {printf("B组数字重复!n");return 0;}}}}
	
	for(i=1;i<=10;i++)//判断是否为空集
	{for(j=1;j<=10;j++)
		{
			if(A[i]==B[j])T[i]=A[i];
			else count2++;
		}}

	if(count2==(10*10)){printf("n");return 0;}//是空集则什么也不输出

	for(j=1;j<=(10-1);j++)//对T数组元素进行排序
	{for(i=1;i<=(10-1)-j;i++)
	{
		if(T[i] 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1005203.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号