二维数组的行列求和以及最大差值

来源:互联网 发布:淘宝网卖家中心入口 编辑:程序博客网 时间:2024/06/16 08:19
#include<stdio.h>
int cmp(void const *a,void const *b)
{
    return *(int*)a-*(int*)b;
}
int main()
{
    int a,b;
    while(1)
    {
        scanf("%d%d",&a,&b);
        if(a==0||b==0)
            return 0;
        int s[a][b],B[a][b],k,i,j,q,l=-1;
        k=a+b;
        int sum[k];
        for(i=0; i<a; i++)
        {
            for(j=0; j<b; j++)
            {
                scanf("%d",&s[i][j]);
                B[j][i]=s[i][j];
            }//行列翻转
        }
        for(i=0; i<a; i++)
        {
            q=0;
            for(j=0; j<b; j++)
            {
                q+=s[i][j];
            }
            l++;
            sum[l]=q;
        }
        for(i=0; i<a; i++)
        {
            q=0;
            for(j=0; j<b; j++)
            {
                q+=B[i][j];
            }
            l++;
            sum[l]=q;//列求和
        }
        qsort(sum,k,sizeof(sum[0]),cmp);//排序
        printf("%d\n",sum[k-1]-sum[0]);
    }
    return 0;
}
0 0
原创粉丝点击