Problem D: C语言习题 矩阵元素变换
2016-03-13 13:12
477 查看
128 MB
Submit: 400 Solved: 206
[Submit][Status][Web
Board]
Description
将一个n×n(2<n<10,n为奇数)的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(按从左到右、从上到下顺序依次从小到大存放),写一函数实现。用main函数调用。
Input
输入n和矩阵中的每个元素Output
变换后的矩阵Sample Input
5 25 13 9 5 1 16 17 18 19 6 15 24 4 20 7 14 23 22 21 8 2 12 11 10 3
Sample Output
1 13 9 5 2 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 3 12 11 10 4
HINT
主函数已给定如下,提交时不需要包含下述主函数/* C代码 */
int main()
{
void change(int *,int );
int **a,*p,i,j;
int n;
scanf("%d",&n);
p=(int*)malloc(n*n*sizeof(int));
a=(int**)malloc(n*sizeof(int *));
for(i=0; i<n; i++)
a[i]=p+n*i;
for (i=0; i<n; i++) //输入矩阵
for (j=0; j<n; j++)
scanf("%d",&a[i][j]);
change(p,n); //调用函数,实现交换
for (i=0; i<n; i++) //输出已交换的矩阵
{
for (j=0; j<n; j++)
printf("%d ",a[i][j]);
printf("\n");
}
free(p);
free(a);
return 0;
}
/* C++代码 */
int main()
{
void change(int *,int );
int **a,*p,i,j;
int n;
cin>>n;
p=new int[n*n];
a=new int*
;
for(i=0; i<n; i++)
a[i]=p+n*i;
for (i=0; i<n; i++) //输入矩阵
for (j=0; j<n; j++)
cin>>a[i][j];
change(p,n); //调用函数,实现交换
for (i=0; i<n; i++) //输出已交换的矩阵
{
for (j=0; j<n; j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
delete []p;
delete []a;
return 0;
}
[Submit][Status][Web
Board]
한국어
中文
فارسی English
ไทย
Anything about the Problems, Please Contact Admin:admin
All Copyright Reserved 2010-2014
HUSTOJ TEAM
GPL2.0 2003-2014
HUSTOJ Project TEAM
相关文章推荐
- new一个动态二维数组并实现内存连续
- 计算标准体重
- 计算标准体重
- 计算标准体重
- 计算标准体重
- 计算标准体重
- C++标准库中的栈和队列
- Problem C: C语言习题 整数排序
- c++中vector等容器的实现机制
- opencl C++接口: 关于CL_KERNEL_FUNCTION_NAME的一个坑
- C++程序设计之四书五经(为以后打折买书攒着)
- C小项目——电子词典
- C++实现矩阵压缩
- 九度oj题目1123:采药
- 《你必须知道的495个C语言问题》读书笔记之第15-20章:浮点数、风格、杂项
- 2013年第四届蓝桥杯试题(C/C++本科B组)
- C/C++中extern关键字详解
- 约瑟夫环问题递归解法的一点理解
- 快速排序
- c++第一次上机实验——2