您的位置:首页 > 编程语言 > C语言/C++

5-39 魔法优惠券

2016-07-29 21:10 344 查看


#include<stdio.h>
#include<stdlib.h>
int compare(const void *a,const void *b)
{
return *(int *)b-*(int *)a;
}
main()
{
int N,M,*A,*B,i;
int sum=0,a1,a2,b1,b2;
scanf("%d",&N);
A=malloc(sizeof(int)*N);
for(i=0;i<N;i++)
scanf("%d",A+i);
scanf("%d",&M);
B=malloc(sizeof(int)*M);
for(i=0;i<M;i++)
scanf("%d",B+i);
qsort(A,N,sizeof(int),compare);
qsort(B,M,sizeof(int),compare);
a1=b1=0;
a2=N-1;
b2=M-1;
while(a1<=N-1&&b1<=M-1)
{
if((*(A+a1))*(*(B+b1))>0)
{
sum=sum+(*(A+a1))*(*(B+b1));
a1++;
b1++;
}
else
break;
}
while(a2>=a1&&b2>=b1)
{
if((*(A+a2))*(*(B+b2))>0)
{
sum=sum+(*(A+a2))*(*(B+b2));
a2--;
b2--;
}
else
break;
}
printf("%d\n",sum);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C语言 排序算法