- 论坛徽章:
- 0
|
本帖最后由 801901987 于 2013-07-13 09:56 编辑
交叉互换相加比较~
- #include <iostream>
- int main(void)
- {
- int a[8] = {0, 0, 0, 0, 1, 100, 0, 0};
- int b[8] = {0, 0, 2, 4, 6, 8, 0, 0};
- int i,j=0,k=0,l,temp,m;
- for(i=0;i<8;i++)
- j+=a[i]-b[i];
- if(j<0)
- j-=j*2;
- for(i=0;i<8;i++)
- {
- for(l=0;l<8;l++)
- {
- temp=b[l];
- b[l]=a[i];
- a[i]=temp;
- for(m=0;m<8;m++)
- k+=a[m]-b[m];
- if(k<0)
- k-=k*2;
- if(k>=j)
- {
- a[i]=b[l];
- b[l]=temp;
-
-
- }
- else
- j=k;
- k=0;
- }
-
-
-
- }
- for(i=0;i<8;i++)
- printf("%-4d",a[i]);
- printf("\n");
- for(i=0;i<8;i++)
- printf("%-4d",b[i]);
- printf("\n");
- printf("%d\n",j);
- system("pause");
- return 0;
- }
复制代码 |
|