题目:对某个二维数组右上三角的全部元素(不包括对角线上的元素)做如下变换:
(1)若该数是偶数,则找到左下三角中和它关于对角线对称的元素用这两个元素的最大公约数替换该数
(2)若不是偶数,则不变。对该数组的左下三角形的元素(包括对角线上的元素)按小到大的顺序进行排序
我的思考:运用二维数组与指针应该可以解决,可想归想,我毕竟还是做不出来,再有关于那个替换更是让我头大!
举个具体的例子:
#include<stdio.h>
void main()
{
int f(int n);
int a[3][3];
int *p;int *q;
int b[6],c[3],i,j,t,k,e,g,m=0,n=0;
printf("请任意输入一千以内9个整数(数与数间用空格隔开):\n");
for(i=0;i<=2;i++)
{for(j=0;j<=2;j++)
scanf("%3d",&a[i][j]);
}
printf("二维数组:\n");
for(i=0;i<=2;i++)
{for(j=0;j<=2;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}
如何将以上二维数组按要求变换?
本人实在太菜,望大虾们帮帮忙,谢谢了~
[此贴子已经被作者于2007-6-27 20:42:51编辑过]