从标准输入中输入两组整数(每组不超过20个整数,每组整数中元素不重复),合并两组整数,重复的整数只出现一次,并按从大到小顺序排序输出
6条回答 默认 最新
- CSDN专家-赖老师(软件之家) 2021-04-30 11:17关注
1.定义3个数组,分别是20,20,40个元素
2.把数组1,数组2,加入数组3,相同的元素设置为0
3.对数组3进行排序,可以使用冒泡等排序方法
4.输出数组,判断大于0的才输出;
附冒泡排序法代码如下:
int a[10]={10,8,7,20,30,9,1,50,100,-1};
int i,j,t,k;
printf("排序之前:\n");
for(i=0;i<10;i++)
printf("%d\t",a[i]);
printf("\n");
for(i=0;i<10;i++)
{
printf("i=%d,第%d轮:\n",i,i+1);
for(j=i+1;j<=9;j++)
{
if(a[i]>a[j])
{
t=a[i]; //t是临时变量
a[i]=a[j];
a[j]=t;
}
//打印排序过程:
printf("j=%d\t",j);
for(k=0;k<10;k++)
printf("%d\t",a[k]);
printf("\n");
//---------------
}
}
printf("排序之后:\n");
for(i=0;i<10;i++)
printf("%d\t",a[i]);
printf("\n");本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用 1