二维数组的行列求和以及最大差值
2016-04-14 12:44
169 查看
#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;
}
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;
}
相关文章推荐
- DES算法(C++实现)
- Linux 文件描述符详解
- 鸡兔同笼问题
- JNDI
- 2015轻院校赛 D 社交网络(排列组合)
- Error 2503 and 2502 when installing/uninstalling on Windows 10
- 网络通信基石Socket (上)
- 利用UITableView实现个人信息界面
- 2016/4/14腾讯Android实习面试
- Xcode打包问题集锦
- css3中动画兼容版
- 通过注解@做细粒度权限控制
- mysql5.7 修改root密码登录
- tar.gz与zip的区别
- 按钮在cell上的高亮状态出现的慢
- 如何设计好词袋模型BoW模型的类类型
- Struts2中的OGNL表达式
- robotframework笔记10
- FTP服务添加用户及设置权限
- STM32——按键